- 博客(7)
- 收藏
- 关注
原创 CF Good Bye 2016 C New Year and Rating 模拟乱搞
新年第一天写篇题解压压惊...一年没搞ACM了 题意:L在2016年参加了n场codeforces比赛,告诉你这些比赛各自的divide和分数变动,问最后的rating最高是多少。 思路:从最后一场比赛开始模拟,当这场是div1时显然最后的最小值不小于1900与到这场比赛总变动值的和;当这场比赛是div2时显然最后的最大值不大于1899与到这场比赛总变动值的和。 //I have given
2017-01-01 22:50:11 427
原创 CF #278 div2 D Strip 线段树+优先队列
题意: 有N个连续的数,求一种划分,使得满足以下条件: 1,每一个块中最少有L个数。2,块中最大数和最小数的差不超过S。求最少要划分成多少块,如果没有满足条件的划分,输出-1; 思路: dp[i]表示前i个字符中满足条件的最小划分。则dp[i]=min(dp[0],dp[1],dp[i-L]),这是第一个条件,我们可以用优先队列简化这个过程。第二个条件需要求在dp[k]+1的位置到dp[i]
2015-01-31 18:00:53 472
原创 CF #287 div2 D The Maths Lecture 数位DP
题意:给三个数n,k,m。求满足以下条件的数有多少个。 1,. 位数为n(去前导0); 2. 存在一个后缀,后缀数模k等于0。 思路:数位DP dp[i][j][0]表示有i位,模k等于j且不存在后缀数模k等于0的数的个数。 dp[i][j][1]表示有i位,模k等于j且存在后缀数模k等于0的数的个数。 显然需要从低位向高位扫。 pos[i]表示第i位等于1模k运算应该加上的数。
2015-01-26 23:12:20 530
原创 CF #287 div2 C Guess Your Way Out!
题意:一棵树,按要求的顺序遍历,问在序号n之前要遍历多少个结点。 思路:二分。当结点在左子树中且此时遍历顺序为L时,ans不变并将遍历顺序变为R,当遍历顺序为R时,ans加上右子树所有的结点数,注意此时的遍历顺序仍应该是R。当结点在右子树时情况类似。/*I have given up the treatment-_-||*/ #include #include #include #include
2015-01-26 00:36:09 785
原创 Poj 2312 BFS+优先队列
题意:从Y走到T,B点要把它开枪消灭掉才能走,S和R不能走。 思路:BFS,将步数作为优先队列的关键字,E点直接一步走到,B点两步走到。 /*I have given up treatment-_-||*/ #include #include #include #include #include #include #include #include using namespace std;
2014-12-30 20:01:34 409
原创 CF #284 div2 C
题意:n条直线将平面划分成多个块,有两个点,每个点都在块中,不在直线上,问一个点到另一个点最少跨越多少条直线。 思路:判断两个点是否在直线的两侧。即D=Ax+Bx+C>0是否一样。 /*I have given up treatment-_-||*/ #include #include #include #include #include #include #include #includ
2014-12-28 11:11:26 387
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人