随笔分类 - cf
摘要:595C - Warrior and Archer 思路:设最后答案的区间为[l,r],那么r-l等于n/2,因为在(l,r)中的点都是其中一个人挖掉的,[0,l)和(r,n]中的点是另一个人挖掉的,两者相等。 代码:
阅读全文
摘要:610C - Harmony Analysis 思路: 代码:
阅读全文
摘要:820B - Mister B and Angle in Polygon 思路: 由于正多边形以某个顶点分成的三角形后以这个点为顶点的角都相等,所以可以确定两个点为相邻点,只要再找一个点就够了。 证明如下 以正八边形为例,正多边形可推广。 如图所示:∠1=∠2=∠3=∠4=∠5=∠6=∠7=∠8。
阅读全文
摘要:757C - Felicity is Coming! 思路:对于不同种类的宝可梦,如果他们所在的gym完全一样那么他们就可以互相进化成对方的种类。还有宝可梦可以进化后种类不变。设有n种所在gym完全一样的宝可梦,那么对于这种gym组合来说,有n!种可供选择的进化方案。 代码:
阅读全文
摘要:385D - Bear and Floodlight 思路:状态压缩dp+计算几何。 i表示亮灯的集合,i的二进制中1表示亮灯,0表示不亮灯。 dp[i]表示在i的亮灯情况下最大的可以照亮的长度。 状态转移方程:dp[i^(1<<j)]=max(dp[i^(1<<j)],cal(dp[i],j))。
阅读全文
摘要:496D - Tennis Game 思路:枚举每个t,求出对应的满足条件的s。 代码:
阅读全文
摘要:680D - Bear and Tower of Cubes 思路:dfs+贪心,设剩余的体积为res,存在a,使得a3 ≤ res,每次取边长为a的立方体或者边长为a-1的立方体(这时体积上限变成a3 -1)。 代码:
阅读全文
摘要:535D - Tavas and Malekas 思路:先把字符串填充好(后面填充的把前面覆盖掉),然后用KMP查找有多少个子串,如果比填充的少,说明有些覆盖矛盾,输出0;否则,设不确定的点的个数为k,答案为(26^k)%(1e9+7)。 代码:
阅读全文
摘要:545D - Queue 思路:忍耐时间短的排在前面,从小到大排序,贪心模拟,记录当前等待时间,如过等待时间大于当前的这个人得忍耐时间,那么就把这个人扔到最后面,不要管他了(哼╭(╯^╰)╮,谁叫你那么没耐心呢),所以也就不用记录为他服务的时间。 代码:
阅读全文
摘要:535C - Tavas and Karafs 思路:对于满足条件的r,max(hl ,hl+1 ,hl+2 ,......,hr )<=t(也就是hr<=t)且∑hi<=t*m。所以通过这个条件二分找出最大的r。 二分的下界为1,上界为使得hi等于t的i(hi=t ==> a+(i-1)*b=t
阅读全文
摘要:385C - Bear and Prime Numbers 思路:记录数组中1-1e7中每个数出现的次数,然后用素数筛看哪些能被素数整除,并加到记录该素数的数组中,然后1-1e7求一遍前缀和。 代码:
阅读全文
摘要:496C - Removing Columns 思路:暴力,用vis标记数组实时记录一下之前的行i+1和上一行i否全相等,false表示全相等。 代码:
阅读全文
摘要:839B - Game of the Rows 思路:先放4个的,然后再放2个的,最后再放1个的。 代码:
阅读全文
摘要:483B - Friends and Presents 思路:这个博客写的不错:http://www.cnblogs.com/windysai/p/4058235.html 代码:
阅读全文
摘要:352B - Jeff and Periods 思路:水题,考验实现(implementation)能力,来一波vector[允悲]。 代码:
阅读全文
摘要:768B - Code For 1 思路:类似于线段树的区间查询。 代码:
阅读全文
摘要:38B - Chess 思路:懂点象棋的规则就可以,看看哪些点可以放马。 代码:
阅读全文
摘要:735B - Urbanization 思路:贪心。人数少的城市住钱最多的那几个人。 不证明了,举个例子吧:a1<a2<a3<a4<a5 (a1+a2+a3)/3+(a4+a5)/2==(2*a1+2*a2+2*a3+3*a4+3*a5)/6① (a1+a2)/2+(a3+a4+a5)/3==(3*
阅读全文
摘要:534B - Covered Path 思路:贪心,每一秒取尽可能大并且可以达到的速度。 画张图吧,不解释了: 代码:
阅读全文
摘要:595B - Pasha and Phone 代码:
阅读全文