[洛谷P4918]信仰收集

题目背景

随着各种势力的迁入,守矢神社丧失了不少信仰现在,为了挽回香火日益惨淡的神社,八坂神奈子派遣神社的风祝早苗去人类村落收集信仰

题目描述

你可以将村落看成一个m个点的有向无环图(编号从1−m),其中在某些点上有n簇待收集的信仰(每一簇都有一定的数量),图中有k有向边,每条边的长度均为1
早苗会从图中的1号点出发,在图中的任意一个点停止收集,当早苗在一个有信仰的点的时候,她会将这个点所有的信仰全部收集(包括1号点)
为了方便,早苗从宇佐见堇子那里学会了瞬移,所以她可以一次移动a个单位长度(称为小瞬移),也可以一次移动b个单位长度(称为大瞬移),分别会花费wa,wb点灵力,保证a≤b,但由于幻想乡不能被常识所束缚,所以wa不一定小于wb
现在,早苗希望你能帮她求出她在村落中能获得的(信仰数量-灵力耗费)的最大值

如果做过$NOIP2017$的逛公园的话再做这种拓扑图上的$dp$就比较套路了,我们设$dp[i][j]$表示到$i$号点还有$j$步瞬移结束的最大价值,然后边拓扑排序边转移即可

代码:

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<queue>
 4 #include<cstring>
 5 #define M 200010
 6 using namespace std;
 7 queue<int>q;
 8 int n,m,num,k,da,wa,db,wb,ans;
 9 int head[M],w[M],dig[M],dp[M][60];
10 struct point{int to,next;}e[M<<1];
11 void add(int from,int to)
12 {
13     e[++num].next=head[from];
14     e[num].to=to;
15     head[from]=num;
16 }
17 int main()
18 {
19     scanf("%d%d%d",&k,&n,&m);
20     scanf("%d%d%d%d",&da,&db,&wa,&wb);
21     for(int x,y,i=1;i<=k;i++)
22         scanf("%d%d",&x,&y),w[x]+=y;
23     for(int a,b,i=1;i<=m;i++)
24         scanf("%d%d",&a,&b),add(a,b),dig[b]++;
25     for(int i=1;i<=n;i++) if(!dig[i]) q.push(i);
26     memset(dp,128,sizeof(dp));
27     dp[1][0]=w[1];
28     while(!q.empty())
29     {
30         int x=q.front();q.pop();
31         for(int i=head[x];i;i=e[i].next)
32         {
33             int to=e[i].to;
34             dp[to][0]=max(dp[to][0],dp[x][da-1]-wa+w[to]);
35             dp[to][0]=max(dp[to][0],dp[x][db-1]-wb+w[to]);
36             for(int j=1;j<db;j++)
37                 dp[to][j]=max(dp[to][j],dp[x][j-1]);
38             if((--dig[to])==0) q.push(to);
39         }
40     }
41     for(int i=1;i<=n;i++) ans=max(ans,dp[i][0]);
42     printf("%d\n",ans);
43     return 0;
44 }

 

转载于:https://www.cnblogs.com/Slrslr/p/10009390.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/412766.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Will not attempt to authenticate using SASL | dubbo项目启动特别慢,拉取 zookeeper 服务日志打印特别慢

大家好&#xff0c;我是烤鸭&#xff1a; 今天分享一下使用dubbo遇到的几个问题。 1. cause: KeeperErrorCode ConnectionLoss for /dubbo/ xxx 异常如下&#xff1a; pid9965&qos.accept.foreign.ipfalse&qos.enabletrue&qos.port10887&timestamp1567…

[css] 你有用过table布局吗?说说你的感受

[css] 你有用过table布局吗&#xff1f;说说你的感受 用来做列表排版还是很不错的&#xff0c;但是要想用的好&#xff0c;还是要对table有比较多的了解。 比如实现表头固定&#xff0c;表内容超出滚动的效果等个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放…

Java基础——类加载机制

什么叫类加载 JVM把 .class 字节码文件加载到内存&#xff0c;并进行相关的校验、解析、初始化&#xff0c;最终转换为虚拟机可用的JAVA类型的过程&#xff0c;称为JVM类加载机制。 &#xff08;当然&#xff0c;JVM并不关心class文件的来源&#xff0c;什么&#xff1f;什么叫…

redis集群搭建【简版】

大家好&#xff0c;我是烤鸭&#xff1a; 今天分享一下redis集群安装&#xff0c;写的比较简单&#xff0c;就是做个记录。 1. 下载&安装 wget http://download.redis.io/releases/redis-5.0.4.tar.gz tar -zxvf redis-5.0.4.tar.gz 解压并编译 https://redis.io/ 2.…

[css] 说说你对设备像素比的理解

[css] 说说你对设备像素比的理解 DPR 物理像素与逻辑像素的比个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

x-shell 通过堡垒机连接 ssh多个机器 自动化脚本

大家好&#xff0c;我是烤鸭&#xff1a; 1. 连接vpn 这一步就没什么说的了。我们用的easyconnect。登录后弹出堡垒机页面。 easyconnect 官网&#xff1a;https://sslvpn.zjweu.edu.cn/com/installClient.html 2. 登录堡垒机账号 登录堡垒机之后&#xff0c;如图&#xff…

Python 创建和使用类

python创建和使用类的方法如下 # class Dog(): # def __init__(self,name,age): # self.namename # self.ageage # # def sit(self): # print(self.name.title()"is now sitting") # # def roll_over(self): # print(se…

[css] 说下你对cursor属性的理解

[css] 说下你对cursor属性的理解 cursor 是鼠标光标的属性。可以给元素设置不同的cursor属性来使鼠标在不同的位置显示不同的形状。 值 描述 url 需使用的自定义光标的 URL。注释&#xff1a;请在此列表的末端始终定义一种普通的光标&#xff0c;以防没有由 URL 定义的可用光标…

mybatis 执行插入操作,insert 返回1,数据库中无数据。数据库中数据的创建时间和插入执行时间不一致。

大家好&#xff0c;我是烤鸭&#xff1a; 今天记录一下线上的问题&#xff0c;由于不是我们组的代码&#xff0c;所以没参与全程&#xff0c;只是最后有幸听各位大佬探讨解决方案。mybatis 执行插入操作&#xff0c;insert返回1&#xff0c;日志记录和接口返回都正常&#xff0…

敏捷软件开发学习笔记(四)之结构型设计模式

PHP结构型设计模式 参考 设计模式PHP 设计模式全集 2018什么是结构型是设计模式 结构型模式讲的是如何将类和对象按照某种布局组成更大的结构。它分为类结构型模式和对象结构型模式&#xff0c;其中类结构型模式采用继承机制来组织接口和类&#xff0c;其中对象结构型模式采用组…

[css] position的relative和absolute定位原点是哪里?

[css] position的relative和absolute定位原点是哪里&#xff1f; absolute: 定位原点为第一个position不为static的父级元素的左上角。 可以基于该特性实现height:100%生效 relative&#xff1a;定位原点为元素本身的所在位置。 relative的偏移量设置会导致显示效果和定位原点…

javax.mail.MessagingException: while sending message;Connection reset by peer: socket write error

大家好&#xff0c;我是烤鸭&#xff1a; 阿里云邮件推送服务报错。当你也使用阿里云的邮件推送服务提示上面这个错误的话&#xff0c;我先告诉你原因和目前能想到的解决方案。 解决思路&#xff1a; 1. 换企业邮箱&#xff0c;阿里的上限15M&#xff0c;网易的不知道&…

李晓菁201771010114《面向对象程序设计(java)》第十三周学习总结

理论知识&#xff1a;事件处理 1.事件源&#xff1a;能够产生事件的对象都可以成为事件源&#xff0c;如文本框&#xff0c;按钮等。一个事件源是一个能够注册监听器并向监听器发送事件对象的对象。 2.事件监听器&#xff1a;事件监听器对象接收事件源发送的通告&#xff08;事…

[css] 过渡和动画的区别是什么?

[css] 过渡和动画的区别是什么&#xff1f; 相同&#xff1a;都会让你的页面元素动起来 区别&#xff1a; 过渡 transition1.需要事件触发&#xff0c;比如hover&#xff0c;focus&#xff0c;checked , js改, media query 2.一次性的 3.只能定义开始和结束状态&#xff0c;不…

记一次 OOM 的原因和处理 出现大量 close_wait,项目无法访问 activeMq和 poi 出现的 OOM

大家好&#xff0c;我是烤鸭: 记一次项目无法访问的事件和处理。由于某个模块每隔几天就会出现无法访问&#xff0c;目前的最简单粗暴的方法就是重启。 1. 现象 项目内日志打印正常&#xff0c;经过dubbo的rpc服务和接口调用正常。http接口无法访问。提示nginx 502。 2.…

docker删除镜像和删除容器

删除容器&#xff1a;docker rm ID 删除镜像&#xff1a;docker rmi ID转载于:https://www.cnblogs.com/61355ing/p/10018498.html

[css] CSS中的calc()有什么作用?

[css] CSS中的calc()有什么作用&#xff1f; 用来计算长宽的属性,非常好用,百分比,px,vh/vm都可参与计算, 不过正如上面的大兄弟说的,运算符的左右要有空格,要不然不生效个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。…

fastjson导致的OOM

大家好&#xff0c;我是烤鸭&#xff1a; 今天又遇到OOM了,原因在于 fastjson 的 toJSONString。 这是线上的报错信息。 将这个 TotalLoanDTO 对象 toJSONString 导致的OOM。日志如下。 2019-10-31 12:07:49.896 [TID:285.93.15724948639339801] [XNIO-1 task-14] INFO [cla…

谷歌浏览器中安装JsonView扩展程序

实际开发工作中经常用到json数据&#xff0c;那么就会有这样一个需求&#xff1a;在谷歌浏览器中访问URL地址返回的json数据能否按照json格式展现出来。 比如&#xff0c;在谷歌浏览器中访问&#xff1a;http://jsonview.com/example.json 展现效果如下&#xff1a; 那么安装了…

[css] 怎么实现移动端的边框0.5px?

[css] 怎么实现移动端的边框0.5px&#xff1f; 一种是通过transform中的scaleborder: 1px solid red;transform: scaleY(.5);一种是通过meta viewport中设置init-scale为0.5 <meta name"viewport" content"widthdevice-width, initial-scale0.5"> 一…