SRM 440(1-250pt, 1-500pt)】的更多相关文章

DIV1 250pt 题意:小球从一段折线斜坡上滚下来,告诉所用时间,求重力加速度. 解法:二分答案模拟即可. tag:二分,simulation // BEGIN CUT HERE /* * Author: plum rain * score : */ /* */ // END CUT HERE #line 11 "IncredibleMachine.cpp" #include <sstream> #include <stdexcept> #include &…
problem1 link 二分答案,然后计算总时间.跟$T$比较确定要增大答案还是减小答案. problem2 link 可以看作是以‘*’所在位置为根的树.所以每个非根节点都有一个父节点. 那么每个非根结点$x$都可以表示其根结点$y$的函数,,类型为$x=p+qy$.比如说有三个节点$x,y,z$,$y$是$x$的父节点,$z$是$y$的父节点,那么有$x=1+y,y=1+\frac{1}{2}(x+z)=1+\frac{1}{2}(1+y+z)\rightarrow y=3+z$.也就是…
SRM 475 DIV1 300pt 题意:玩游戏.给一个棋盘,它有1×n(1行n列,每列标号分别为0,1,2..n-1)的格子,每个格子里面可以放一个棋子,并且给定一个只含三个字母WBR,长度为n的字符串,代表每个格子的颜色.在游戏开始时,r个棋子随机摆放在这n个格子里(每个棋子摆在每个格子里的概率相同),问游戏结束时,这些格子里所剩棋子数的期望.游戏的规则为(记这个棋盘的列数为size): 1.如果棋子在0格,则向右移动一格: 2.如果棋子在size-1或size-2格,则向左移动一格: 3…
SRM 468 DIV1 250pt 题意:给出字典,按照一定要求进行查找. 解法:模拟题,暴力即可. tag:water score: 0.... 这是第一次AC的代码: /* * Author: plum rain * score : 0 */ #line 11 "T9.cpp" #include <sstream> #include <stdexcept> #include <functional> #include <iomanip&g…
SRM 470 DIV1 250pt 题意:有n个房间排成一排,相邻两个房间之间有一扇关闭着的门(共n-1扇),每个门上都标有‘A’-‘P’的大写字母.给定一个数n,表示第n个房间.有两个人John和Gogo,两人轮流按下面的规则选择一个大写字母(‘A’-‘P’),每选择一次字母,标有该字母的门就打开了. 某次选择之后:若所有门全部打开,则平手游戏结束,输出0:n房间之前的门全部打开,则John胜游戏结束,输出两人总共选择了的颜色的数量:n房间后的门全部打开,则Gogo胜游戏结束,输出-1 ×…
SRM 593 DIV1 250pt 题意:有如下图所示的平面,每个六边形有坐标.将其中一些六边形染色,要求有边相邻的两个六边形不能染同一种颜色.给定哪些六边形需要染色,问最少需要多少种颜色. 解法:首先,需要0种颜色和需要1种颜色很容易判断,其次,最多需要3种颜色.易证. 也就是说,难以判断的就是需要2种颜色还是3种颜色.假定只需要染2种颜色,然后将需要染色的六边形染色,看是否会出现矛盾.用DFS染色. Ps:和官方题解一比,自己写的代码太麻烦了.... tag:染色 /* * Author:…
div1 250pt: 题意:... 解法:先假设空出来的位置是0,然后模拟一次看看是不是满足,如果不行的话,我们只需要关心最后栈顶的元素取值是不是受空白处的影响,于是还是模拟一下. // BEGIN CUT HERE // END CUT HERE #line 5 "Suminator.cpp" #include<cstdio> #include<cstring> #include<cstdlib> #include<ctime> #i…
div1 250pt: 题意:用RGB三种颜色的球摆N层的三角形,要求相邻的不同色,给出RGB的数量,问最多能摆几个 解法:三种颜色的数量要么是全一样,要么是两个一样,另外一个比他们多一个,于是可以分类讨论:对于数量全一样的,直接算;对于另外的,我们可以先不考虑多出来的那一个,也是正常放,然后看最后剩下的位置能不能放完所有多出来的那一个,这个可以二分. // BEGIN CUT HERE // END CUT HERE #line 5 "FoxPaintingBalls.cpp" #i…
div1 250pt 题意:一个长度最多50的字符串,每次操作可以交换相邻的两个字符,问,经过最多MaxSwaps次交换之后,最多能让多少个相同的字符连起来 解法:对于每种字符,枚举一个“集结点”,让其他相同的字符尽可能和它连起来. // BEGIN CUT HERE // END CUT HERE #line 5 "ColorfulChocolates.cpp" #include<cstdio> #include<cstring> #include<cs…
div1 250pt: 题意:有个机器人,从某一点出发,他只有碰到地形边缘或者碰到走过的点时才会改变运动方向,然后接着走,现在给出他的运动轨迹,判断他的运动是否合法,如果合法的话,那么整个地形的最小面积是多少. 解法:先随便设定一个起点,然后模拟机器人走的路线,先确定出来运动的大致范围,然后判断运动轨迹是否合法,也就是出了最后一步可以手动终止之外,看其他的时候,它转变方向是不是合法.... // BEGIN CUT HERE // END CUT HERE #line 5 "RotatingBo…