Week 5 Monday && Week4 Saturday &&Week4 Friday(?)
- HDU 2925
约瑟夫环。
f[1]=0;
for(int i=2;i<=n;i++) f[i]=(f[i-1]+m)%i;
- CodeForces 75B
字符串处理。
代码看这里。我用正则去匹配的。 - POJ 1426
求只有1,0,组成的十进制数,使得这个数可以被n整除。
用余数去做,诸位往后加1和0就行。
我瞎JB DP过去了。 - POJ 3279
黑白棋盘,每次选择一个位置,这个点和上下左右四个点反色,问变成全白的方案。
这个题以前见过无数次,还是不太记得怎么做QAQ。
其实就是枚举第一行的状态,然后如果第一行确定了,整个棋盘就确定了。 - CodeForces 482A
求一个排列使得$|p_1-p_2|,|p_2-p_3|,...,|p_{n-1}-p_n| $正好含有k个不同的数字。
就是一个大一个小放k个,后面的按顺序放就行了。
比如像(1,n,2,n-1,3,n-2,4,5,6...,)这是k=7的情况。 - CodeForces 482B
求一个序列,要满足m个要求,每个要求是[l[i],r[i]]的一段and和为q[i]。
这个题以前做过,是用32次线段树分别维护每一位,结果超时了。
正解是用一个线段树,初始每个数都是0,每个条件就相当于把这一段的数都or上q[i]。因为or上q[i],就把q[i]对应位上的1保存了下来,答案肯定不会错。最后在判断一下每个区间是否符合条件(没有产生矛盾)就行。
然而我写错了。shenmegui - CodeForces 483A
暴力。50^3 - CodeForces 483B
求一个最小的n,把1到n里的数分给两个人,a不要x的倍数,b不要y的倍数,a至少要cnt1个数,b至少要cnt2个数,问n最小是多少。
二分n,n以内的x倍数和y的倍数的个数都能直接算出来。把所有x和y的公倍数去掉之后,把y的倍数都给a,x的倍数都给b,剩下的随便分看看够不够就行了。 - CodeForces 484D
一个序列,分成若干段,求极差的绝对值的和的最大值。
同一段里肯定是单增或单减的。贪心即可。 - CodeForces 482C
概率DP。然而我还没有看懂。
Week 4 Friday在哪呢?