随笔分类 - TopCoder
摘要:div1 250pt: 题意:。。。 解法:先假设空出来的位置是0,然后模拟一次看看是不是满足,如果不行的话,我们只需要关心最后栈顶的元素取值是不是受空白处的影响,于是还是模拟一下。 1 // BEGIN CUT HERE 2 3 // END CUT HERE 4 #line 5 "Suminator.cpp" 5 #include 6 #include 7 #include 8 #include 9 #include10 #include11 #include12 #include13 #include14 #include15 #include16 #include1
阅读全文
摘要:div1 250pt: 题意:用RGB三种颜色的球摆N层的三角形,要求相邻的不同色,给出RGB的数量,问最多能摆几个 解法:三种颜色的数量要么是全一样,要么是两个一样,另外一个比他们多一个,于是可以分类讨论:对于数量全一样的,直接算;对于另外的,我们可以先不考虑多出来的那一个,也是正常放,然后看最后剩下的位置能不能放完所有多出来的那一个,这个可以二分。 1 // BEGIN CUT HERE 2 3 // END CUT HERE 4 #line 5 "FoxPaintingBalls.cpp" 5 #include 6 #include 7 #include 8 #inc
阅读全文
摘要:div1 250pt 题意:一个长度最多50的字符串,每次操作可以交换相邻的两个字符,问,经过最多MaxSwaps次交换之后,最多能让多少个相同的字符连起来 解法:对于每种字符,枚举一个“集结点”,让其他相同的字符尽可能和它连起来。 1 // BEGIN CUT HERE 2 3 // END CUT HERE 4 #line 5 "ColorfulChocolates.cpp" 5 #include 6 #include 7 #include 8 #include 9 #include10 #include11 #include12 #include13 #include
阅读全文
摘要:div1 250pt: 题意:有个机器人,从某一点出发,他只有碰到地形边缘或者碰到走过的点时才会改变运动方向,然后接着走,现在给出他的运动轨迹,判断他的运动是否合法,如果合法的话,那么整个地形的最小面积是多少。 解法:先随便设定一个起点,然后模拟机器人走的路线,先确定出来运动的大致范围,然后判断运动轨迹是否合法,也就是出了最后一步可以手动终止之外,看其他的时候,它转变方向是不是合法。。。。 1 // BEGIN CUT HERE 2 3 // END CUT HERE 4 #line 5 "RotatingBot.cpp" 5 #include 6 #include 7 #
阅读全文
摘要:div1 250pt: 题意:100*100的01矩阵,找出来面积最大的“类似国际象棋棋盘”的子矩阵。 解法:枚举矩阵宽(水平方向)的起点和终点,然后利用尺取法来找到每个固定宽度下的最大矩阵,不断更新答案。 1 // BEGIN CUT HERE 2 3 // END CUT HERE 4 #line 5 "TheMatrix.cpp" 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 14 #include 15 ..
阅读全文
摘要:250pt.题意:给定n块砖,编号0~n-1,选一定的砖摞起来,要求上面的砖编号比下面的大,并且偶数高度的不能放在奇数高度的上面,求最大高度。解法: dp[i][0]记录选完前i块并且此时最上面一块高度为偶数的最优解 dp[i][1]记录选完前i块并且此时最上面一块高度为奇数的最优解。。。250pt 1 #include<iostream> 2 #include<string> 3 #include<cstring> 4 #include<algorithm> 5 #include<vector> 6 #define N 100 7
阅读全文

浙公网安备 33010602011771号