![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
想法题
克莉丝汀娜
此时一名自称平民的玩家路过
展开
-
hdu 5191 Building Blocks
问题描述 看完电影后,乐乐回家玩起了积木。 他已经搭好了n 堆积木,他想通过调整积木,使得其中有连续W 堆积木具有相同的高度,同时他希望高度恰好为H 。 乐乐的积木都这了,也就是说不能添加新的积木,只能移动现有的积木。 他可以把一个积木从一堆移动到另一堆或者新的一堆,但是不能移动到两堆之间。比如,一次移动之后,"3 2 3" 可以变成 "2 2 4" 或者 "3 2 2 1",但是不能变成原创 2015-03-22 09:37:56 · 541 阅读 · 1 评论 -
204A (数学题或者数位DP?)
求区间[l,r]内最高位数字与个位数字相等的数的个数。 数位DP? 其实只需求出不超过x的满足要求的数的个数sum(x),最后答案就是sum(r)-sum(l-1) 对于x,若小于10,则sum(x)=x. 若x不小于10,取x的最高位a,最低位b。 可以发现如果a 否则结果为上式再减1(因为a……a不能取) #include using namespace std; #原创 2015-03-26 10:06:14 · 434 阅读 · 0 评论 -
Codeforces 197A Plate game
纯粹的想法题啊!!! 一个面积为a*b的矩形,两个人轮流往里面摆放半径为r的圆,不能重叠,轮到谁不能摆放时,另一方就赢了。输出胜者。 只有两种情况。。。。。。。 当矩形较短边长小于圆直径时,第一个人无法放。后者获胜。 当第一个人可以放时,其一定获胜。 因为其为防止对手获胜,一定将圆放在矩形中心位置,其余没有被圆覆盖的区域是对称的。 若不能摆放,则先手胜。 若可以摆放,则必然存原创 2015-03-22 22:19:34 · 990 阅读 · 0 评论 -
codeforces 3C Tic-tac-toe (想法题)
题意:三连棋游戏,给出棋盘上的情况,判断是否合法,若合法,判断谁获胜或者当前该谁下。(先手为X,后手为0,是数字0不是字母O!) 此题需考虑全面。 首先考虑不合法的情况,有如下4种: 1、X的数量少于0的数量。 2、X的数量-0的数量>1。 3、X数量等于0的数量,而此时存在三个X相连(即先手获胜)。这是不可能的,因为先手下子之后,X的数量必然多于0的数量,不可能相等。 4、X的原创 2015-03-31 12:32:30 · 731 阅读 · 0 评论 -
codeforces 123A/124C Prime Permutation
挺有意思的一道水题。 题目传送门 题目大意:一个字符串(下标从1开始),设其总长为L,问能否改变字符的顺序,使得所有不超过L的质数p,满足s[p]=s[p*k],p*k 分析:注意到2是质数(关键),因此对于所有偶数下标所对应的字符一定相同。再有对于下标为p的字符,若p*2 即除了第1个位置和满足p*2>L的位置的字符可以任意取,其余的位置的字符都是相同的。 故只需统计一下字原创 2015-06-17 18:08:59 · 577 阅读 · 1 评论 -
51Nod 1241 特殊的排序
题目传送门 分析:之前想的是求LIS,后面发现这组数据会出问题:3 1 2 4 5 6。 其实这里的LIS还应当满足前后两个元素的值相差为1。比如上面的最长子序列为:3 4 5 6,而不是1 2 4 5 6。即只需移动1、2即可。 具体证明,有时间再搞。。 #include #include #include using namespace std; int a[50005],原创 2015-04-01 22:15:54 · 792 阅读 · 0 评论