随笔分类 -  OJ---洛谷

摘要:大家可以先看这道题目再做! "SCOI2007修车" 传送门 "洛谷" Solution 就和上面那道题目一样的套路,但是发现你会获得60~80分的好成绩!!! 考虑优化,因为是SPFA,所以每一次只会走最短路,做完之后发现。。。 欸,好像每一次会搞掉一条边,那么我们动态加入点就好了。 代码实现 c 阅读全文
posted @ 2019-03-18 15:19 QwQGJH 阅读(130) 评论(0) 推荐(0) 编辑
摘要:传送门 "洛谷" Solution 大致思想同 "这个——洛谷1231" 代码实现 cpp include using namespace std; const int N=500010,Inf=1e9+10; int front[N],cnt,s,t,n; struct node { int to 阅读全文
posted @ 2019-03-17 23:26 QwQGJH 阅读(138) 评论(0) 推荐(0) 编辑
摘要:传送门 "洛谷" Solution 这是一个比较实用的套路,很多题目都有用,而且这个套路难以口胡出来。 考虑把每一个附加贡献重新建一个点,然后向必需的点连边,流量为val。 然后直接种植的从源点向这个点连,流量为val。 最后跑一个最小割就可以了。 代码实现 cpp include using na 阅读全文
posted @ 2019-03-17 23:25 QwQGJH 阅读(152) 评论(0) 推荐(0) 编辑
摘要:传送门 "洛谷" Solution emmm,直接对于每一个点拆点就好了。 然后边连Inf,点连1,跑最小割就是答案。 代码实现 cpp include using namespace std; const int N=100010,Inf=1e9+10; int front[N],cnt,s,t, 阅读全文
posted @ 2019-03-17 23:22 QwQGJH 阅读(141) 评论(0) 推荐(0) 编辑
摘要:传送门 "洛谷" Solution 考虑一本书最多用一次,所以拆点。 其他的答案、练习册与书本的限制直接连1的边就好了。 最后跑出来的最大流就是答案。 代码实现 cpp include using namespace std; const int N=100010,Inf=1e9+10; int f 阅读全文
posted @ 2019-03-17 23:20 QwQGJH 阅读(192) 评论(0) 推荐(0) 编辑
摘要:BZOJ3555 [Ctsc2014]企鹅QQ Solution 只需要前缀Hash,然后考虑每一段的贡献就好了!!! 代码实现 cpp include include include include include include include include include using nam 阅读全文
posted @ 2019-02-13 17:30 QwQGJH 阅读(149) 评论(0) 推荐(0) 编辑
摘要:BZOJ5290 [Hnoi2018]道路 前言 这道题目我竟然没有在去年省选切? 我太菜了. Solution 对题面进行一个语文透彻解析,发现这是一个二叉树,乡村都是叶子节点,城市都有两个儿子.(依据在下) " " 那么就可以树形dp了.我们假设公路是左儿子,铁路是右儿子. $dp_{i,j,k 阅读全文
posted @ 2019-02-13 08:52 QwQGJH 阅读(154) 评论(0) 推荐(0) 编辑
摘要:BZOJ2328 [HNOI2011]赛车游戏 前言 这道题目我真的佛了,卡精度+卡时间这就是下一个聊天鬼才. Solution 首先可以二分出最大速度,然后考虑下坡的话可能有更好的解,然后这样子算一下就好了. 代码实现 cpp include include include include inc 阅读全文
posted @ 2019-02-02 22:43 QwQGJH 阅读(171) 评论(1) 推荐(0) 编辑
摘要:BZOJ2002 [Hnoi2010]Bounce 弹飞绵羊 Solution 很早以前写的一道分块题,最近在搞LCT,又做了一遍. 1.LCT做法 看到这种动态修改,想下LCT怎么维护. 修改操作就是$Cut(x,k[x])$然后再$Link(x,k[x]')$ 剩下的只有询问了. 我们如果把弹出 阅读全文
posted @ 2019-01-31 08:50 QwQGJH 阅读(190) 评论(0) 推荐(0) 编辑
摘要:BZOJ2049 [Sdoi2008]Cave 洞穴勘测 Solution 看到这种动态连边和动态删边的不就想到LCT? 直接上就好了. 好像可以非路径压缩并查集搞,不清楚了. 阅读全文
posted @ 2019-01-30 17:17 QwQGJH 阅读(177) 评论(0) 推荐(0) 编辑
摘要:BZOJ4827 [Hnoi2017]礼物 Solution 如果一串数的增加,不就等于另一串数减吗? 那么我们可以把答案写成另一个形式: $ans=\sum_{i=1}^n(x_i y_i+C)^2$ $y$可以是重新排列 那么疯狂拆一下式子,化简之后就是: $ans=\sum_{i=1}^nx_ 阅读全文
posted @ 2019-01-29 11:08 QwQGJH 阅读(133) 评论(0) 推荐(0) 编辑
摘要:BZOJ3193 [JLOI2013]地形生成 Solution 第一问不是很简单吗? 直接计数就好了. 第二问思考无果看了看hyj神仙的代码,发现可以dp求解. 具体可以看代码(其实主要是我说不清楚...) 代码实现 cpp include include include include incl 阅读全文
posted @ 2019-01-28 20:28 QwQGJH 阅读(170) 评论(0) 推荐(0) 编辑
摘要:BZOJ5306 [Haoi2018]染色 Solution "xzz的博客" 代码实现 cpp include include include include include include include include include using namespace std; define l 阅读全文
posted @ 2019-01-28 16:58 QwQGJH 阅读(166) 评论(0) 推荐(0) 编辑
摘要:SPOJ10707 COT2 Count on a tree II Solution 我会强制在线版本! "Solution戳这里" 代码实现 cpp include include include include include include include include include us 阅读全文
posted @ 2019-01-28 09:29 QwQGJH 阅读(187) 评论(0) 推荐(0) 编辑
摘要:前言 摆王兴致冲冲地跑到我们机房来对我说跟你讲一个黑科技。。。 Dinic的神奇优化 Dinic优化 我们发现如果Dinic不建反向边会跑的飞起(当然Wa是必然的) 所以考虑在加反向边的基础上优化. 首先我们记录网络中最大的一个流量,设它为Min,然后: 1. 把所有小于Min的边都加入网络中 2. 阅读全文
posted @ 2019-01-27 21:07 QwQGJH 阅读(247) 评论(0) 推荐(0) 编辑
摘要:BZOJ2001 [Hnoi2010]City 城市建设 Solution 我们考虑一下这个东西怎么求解? 思考无果...... 咦? 好像可以离线cdq,每一次判断一下如果这条边如果不选就直接删除,然后不确定的保留,必须选的就去确定连通性. 然后可以了? 好妙啊.cdq果然还是万金油. 代码实现 阅读全文
posted @ 2019-01-25 17:24 QwQGJH 阅读(149) 评论(0) 推荐(0) 编辑
摘要:BZOJ4755 [Jsoi2016]扭动的回文串 Solution 考虑对于他给出的 1. A中的一个回文串; 2. B中的一个回文串; 3. 或者某一个回文的扭动字符串S(i,j,k) 这样子几个限制,我们1,2就是很简单的manacher解决. 考虑第三个怎么做: 这一个扭动的回文串,一定是分 阅读全文
posted @ 2019-01-25 10:55 QwQGJH 阅读(184) 评论(1) 推荐(0) 编辑
摘要:BZOJ3545 [ONTAK2010]Peaks Solution 既然会加强版,直接把强制在线的操作去掉就好了. 代码实现 cpp include include include include include include include include include using name 阅读全文
posted @ 2019-01-24 17:36 QwQGJH 阅读(170) 评论(0) 推荐(0) 编辑
摘要:BZOJ5188 [Usaco2018 Jan]MooTube 突然发现BZOJ没有题目,放题面. 题意翻译 题面描述 在业余时间,Farmer John创建了一个新的视频共享服务,他将其命名为MooTube。在MooTube上,Farmer John的奶牛可以录制,分享和发现许多有趣的视频。他的奶 阅读全文
posted @ 2019-01-24 10:16 QwQGJH 阅读(204) 评论(0) 推荐(0) 编辑
摘要:有很浓厚的熟悉感?餐巾计划问题? 不就是多了几个医院,相当于快洗部和慢洗部开了分店. 考虑建图: 如果把每一天拆成两个点,一个表示需求,另一个表示拥有的话. 显然就是一个两边的图,考虑如果我现在有人,但是可以不用,显然可以向后面一天传递. 如果我死了人,要救活,显然是需求向拥有连边. 然后就差不多了 阅读全文
posted @ 2019-01-22 12:01 QwQGJH 阅读(160) 评论(0) 推荐(0) 编辑