
思维题
文章平均质量分 52
sky-edge
这个作者很懒,什么都没留下…
展开
-
CodeForces Gym 100735G
就是说,给你一个长度N,和一个长度为N的01串A,然后问你假设B可以是任意一个长度为N的01串,问你A和B的最长公共子序列的长度是多少 感觉一下,然后就是统计A的0的个数和1的个数,较少的那个就是答案 #include #include #include #include #include #include #include #include #include using n原创 2016-07-22 00:30:45 · 573 阅读 · 0 评论 -
UVALive 6442
这个题,题意就是,给你一个有N个点等距的环,编号[0,N-1],然后有些点上有一个或多个硬币,要移动这个硬币,使得所有的硬币在环上等距地放置且每个点只能放一个硬币,一个移动方案的花费定义为,每个硬币的移动距离中,最长的那个移动距离。 嗯,首先贴一下别人的题解,我这种智障训练时肯定是想不到的 其实是这样来考虑的,我们可以随便设置一系列参考点,不妨直接假设为(0,n/m,2*n/m,……),这原创 2016-07-17 19:50:52 · 483 阅读 · 0 评论 -
CodeForces 468A 构造
给你n个数,1,2,3,,,n。然后每次可以取两个进行+或-或*,然后问最后能否使得结果为24。能就输出一种合法过程。 游戏题,也算数学题吧,构造题,规律题,反正我不擅长的题。 首先,n 然后,对于n>5,如果是奇数,先把前面那5个得到24,然后后面的两两一对,相减都是1,然后24*1*1*1就可以了。 如果n是偶数,也一样先把前面那4个得到24,然后后面的两两一对,相减都是1,然后24*原创 2016-07-16 03:11:52 · 336 阅读 · 0 评论 -
CodeForces 669D 构造
这个题啊,是N个男生和N个女生两两一对,顺时针围成一圈跳舞,女生位置不变, 初始时,男生1与女生1一对,男生2与女生2一对,,男生N与女生N一对。 男生有两种操作,一种是,所有男生顺时针移动x个位置(x为负则是逆时针移动),另一种是所有与奇数号(假设为x)女生的跳舞的男生与他相邻的号码为偶数(x+1)女生旁边的男生互换位置。操作一共有Q次。 然后问你最后每个女生旁边的男生各是几号 算是一个原创 2016-07-16 03:05:51 · 410 阅读 · 0 评论 -
CDOJ 1299 Date
最后过的一道题,看队友的样子,貌似是神烦的题 2800年一循环,菜勒公式可以搞 代码: #include #include #include long long sum[2801][13]; void init() { memset(sum,0,sizeof(sum)); long long count=0; for(int i=1;i<=2800;i++)原创 2016-03-27 11:10:44 · 497 阅读 · 0 评论 -
CDOJ 1035 Bob and Alice 神tm烦的分情况讨论
各种==0什么的临界条件多的很,所以先把所有的特殊状况判一遍,在正常之后再细心地模拟就好 傻逼地把k>=l和2*k>=l合成了一种情况 傻逼地被顺逆时针给绕晕了,包括点的顺序方式和bob、alice的移动方向。要清楚每个方向要怎么计算 代码有注释,自己看吧 #include #include #include #include using namespace std; in原创 2016-03-21 15:11:24 · 570 阅读 · 0 评论 -
Codeforces #345 Div2 B Beautiful Paintings 构造/结论
给你n个数(n 这个题怎么做很显然,就是不断地区构造严格递增子序列。但是怎么构造我想了好久,最终当时想了一个方法,就是用num[i]表示i这个数出现了几次,即每读进来一个数t,就num[t]++,然后再有一个cnt数组,cnt[i]表示出现次数>=i的数字有多少个,cnt[i]的构造方法也简单,每读进来一个数t,先num[t]++,然后再cnt[num[t]]++,如此这样下来,cnt[原创 2016-03-08 17:42:08 · 465 阅读 · 0 评论