无尽

The road ahead will be long. Our climb will be steep.

LOJ 6043 「雅礼集训 2017 Day7」蛐蛐国的修墙方案

搜索+贪心因为要有解,所以把给出的置换连边形成的图一定是若干简单偶环。然后想了半天贪心,发现什么策略都找不到……考虑爆搜,直接搜索是O(2n2n)O(2^{n\over2}n)的,注意到如果环大小为2则一定前一个是左括号,因此只要枚举长度至少4的环,这样O(2n4n)O(2^{n\over4}n)...

2017-06-24 21:50:47

阅读数:336

评论数:0

AtCoder agc007_f Shik and Copying String

贪心+队列画出折线图,每一列表示一个位置,每一行表示一次copy,折线段表示覆盖。一个过程就相当于从第一行开始不断向下画折线来覆盖最后一行。根据贪心,显然折线应贴着上面来画,且转移一定是从最近的转移过来。瞎JB感受一下就会发现折线每次至多增加一格,因此只要维护这些折线的拐点,也就是差分点就可以了,...

2017-04-27 23:37:19

阅读数:496

评论数:1

BZOJ 4560 [JLoi2016]字符串覆盖

贪心+KMP一副区间DP的样子,然而并不是如果只有两个串,那我们可以枚举它们的先后顺序。对于maxans则让前一个串在尽量前的位置匹配,后一个串在尽量后的位置匹配。对于minans则枚举前一个串匹配的位置,把后一个串放在第一个串开头后面第一个匹配位置。推广下去就有了四个串的做法。枚举顺序,对于ma...

2017-02-14 08:11:31

阅读数:1131

评论数:1

BZOJ 4240 有趣的家庭菜园

树状数组+贪心感觉最近写博客有一点高产。。。考虑从小到大放。最小的要么放最左,要么放最右。由于它放左还是右不会影响中间元素的操作次数,所以直接贪心。以此类推。#include<cstring> #include<cstdio> #include<algorithm&g...

2017-02-02 18:00:01

阅读数:234

评论数:0

CF 251D Two Sets

贪心+高斯消元显然从高到低按位考虑。如果这一位有奇数个1,那么这一位最终对答案的贡献肯定是1。如果有偶数个1,对答案的贡献可能是0或2。要最大化答案,因此我们需要更多的2。列出方程,系数ai,ja_{i,j}表示第j个数的第i位的值。变量xix_i表示第i个数是否归自己。要出现尽量多的2,只需让自...

2017-01-28 16:51:10

阅读数:385

评论数:0

UOJ 82 [UR #7]水题生成器

贪心发现n!的约数也就几万个,然后就可以贪心,每次找最大的减,一定能减完。证明:我不会官方题解:http://vfleaking.blog.uoj.ac/blog/219#include<cstdio> #include<algorithm> #define ll long...

2016-10-23 12:23:00

阅读数:213

评论数:0

UOJ 244 短路

贪心好惨啊,这题考场上打的是正解,但是把INF设太小了,直接爆零。改完INF就A了。。。题解:http://matthew99.blog.uoj.ac/blog/2085#include<cstdio> #define N 100005 #define ll long long usi...

2016-10-22 09:39:16

阅读数:215

评论数:0

BZOJ 2115: [Wc2011] Xor

贪心求线性基+找环挂题解:http://www.cnblogs.com/BLADEVIL/p/3484486.html任何复杂环一定能由简单环异或得到任何一条1~n的路径的异或值都可以通过其他的1~n的路径异或一些环得到然后求出所有环,搞出线性基,贪心一下即可简单环的个数一定是m-n+1#incl...

2016-10-15 11:09:33

阅读数:193

评论数:0

UOJ 110 [APIO2015]Bali Sculptures

贪心+二进制按位DP我们需要让答案尽量小,即让答案的二进制位的高位尽量为0。可以一位一位做,同时要保证前面做过的位的答案不变。前4个子任务,记f[i][j]表示前i个数分成j组,且符合当前答案的方案是否存在。那么它可以从一个合法的f[k][j-1] (k < i) 转移过来。这样是O(n^3...

2016-10-05 15:09:06

阅读数:190

评论数:0

UOJ 2 [NOI2014]起床困难综合症

贪心我们的目标一定是让最终答案的二进制位的高位尽量为1 发现位运算只会影响一位 于是搞贪心#include<cstdio> #define N 100005 using namespace std; struct door { int op, t; int make...

2016-10-05 13:09:18

阅读数:158

评论数:0

BZOJ 1050 [HAOI2006]旅行comf

排序+贪心按边权排序,枚举权值最小边,贪心地从小到大选取比最小边大的边,用并查集维护连通性#include<cstdio> #include<algorithm> #define M 5005 #define N 505 using namespace std; struc...

2016-09-25 13:35:23

阅读数:212

评论数:0

BZOJ 1724 [Usaco2006 Nov]Fence Repair 切割木板

合并果子裸题每次选取最小的两个合并即可证明:把合并过程画成哈夫曼树,如果最小点的兄弟不是次小点,把次小点和最小点的兄弟换一个位置答案肯定不会更劣。也就是记次小点i,最小点的兄弟j,点到根的距离为d,点权为w 由 w[i]<w[j],d[i]<d[j]w[i]<w[j],d[i...

2016-09-25 12:42:48

阅读数:182

评论数:0

BZOJ 1029 [JSOI2007]建筑抢修

贪心,根据t2从小到大排序,用堆维护。·剩余时间足够完成当前任务,则插入当前任务 ·剩余时间不足完成当前任务,若当前任务的t1比堆中t1的最大值大,则不插入,否则插入#include<cstdio> #include<algorithm> #define MAXN 150...

2016-08-01 13:37:11

阅读数:171

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭