codeforces
来来我们都是水果
nothing
展开
-
codeforces 435B Pasha Maximizes
Pasha Maximizes 贪心:找到利用当前k能够得到的使当前位置的数字最大的情况。。 Time Limit:1000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u Description Pasha has a positive intege原创 2015-08-01 17:23:00 · 442 阅读 · 0 评论 -
codeforces 405B Playing Dominoes
Playing Dominoes 思路: 1.找到第一个非’.‘的位置 若为n则全为所求 2.第一个非’.‘如果是R 则...若为L 则... 3.记录每一个非’.‘的位置 4.遍历所有R或L至倒数第二个,只考虑当前R或L与下一个L或R的位移, 5.考虑最后一个R或L后面的’.‘原创 2015-07-30 10:40:23 · 514 阅读 · 0 评论 -
codeforces 26B Regular Bracket Sequence(暴力)
简单粗暴的一层遍历=_= #include #include #include using namespace std; char a[1000010]; int main() { while(scanf("%s",&a)!=EOF) { long j,i,Pos=0,ans=0,len=strlen(a); for(i=0;i<len;i++)原创 2015-08-03 11:34:10 · 741 阅读 · 0 评论 -
CF 26A-Almost prime
Almost Prime Time Limit:2000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u Description原创 2015-08-04 08:49:57 · 429 阅读 · 0 评论 -
CF 148D Bag of mice 概率DP
刚开始总感觉dp用一维就可以了,dp[i]表示第i局公主获胜的概率,然后卡在了逃出的是白鼠黑鼠的判断上,两种状态需要分开讨论,但是在概率上又会同时对后续结果有影响,与此同时 这两种情况又是不共存的,所以考虑二维数组,如果i表示第几局的话,dp[i][j]中j打死我也想不到有价值的表示意义。所以我肯定刚开始的思路都是错误的。。。 换思路,=.= 想不通, 好吧看题解。。。。。。。。。。。原创 2015-08-04 14:01:58 · 301 阅读 · 0 评论 -
codeforces 229D Towers DP
Towers 题意:获得连续高度呈非递减状态的序列,相邻塔高可合并,每合并一次代表一次操作,求出能得到该种序列的最小操作次数 思路:刚开始想用贪心,后来发现总是有情况没办法考虑到,wa了多次,后来经指点再次体会动态规划的魅力。第二次在需要动态规划时病急投医想到贪心,无药可救 dp{i]表示考虑到第i个塔时的操作次数,再用一个数组sum[i]表示前i个塔高的总和,便于从sum[i]-sum原创 2015-08-06 08:49:22 · 801 阅读 · 0 评论 -
codeforces 527b Error Correct System
题意:两个长度相同的字符串,最多给一次交换某一字符串两位置字母的机会,求出可得的两字符串的最小码距(即最少能有多少不相同的位置) 题解:因为最多进行一次交换,也就是说对于存在多种满足同样要求的交换情况,输出一组即可,即可以把多种情况压缩处理,只留最先遍历得到的两个不同对应字母的位置,这样的话只需要一个26*26的数组即可,保证不会发生超时。 下面需要对一下情况进行讨论 1.未交换之前原创 2015-08-06 00:49:54 · 530 阅读 · 0 评论