摘要: 题意:给出区间[ll,rr],求中间一个数二进制表示时一的个数最多。 写出ll和rr的二进制,设出现第一个不同的位置为pos(从高位到低位),找的数为x,那么为了使x在[ll,rr]内,前pos-1个位必须也相同。而rr在pos和pos后如果都为1,那么pos和pos后都取1,否则pos取0,pos 阅读全文
posted @ 2018-09-17 20:49 degvx 阅读(129) 评论(0) 推荐(0)
摘要: 题意:打怪兽。可增加自己的属性,怎样在能打倒怪兽的情况下花费最少? 这题关键要找好二分的量。一开始我觉得,只要攻击到101,防御到100,就能必胜,于是我对自己的三个属性的和二分(0到201),内部三层循环(最多到不了200*200*200)。1秒内能过。不过发现如果生命值很便宜,防御很贵的话,买生 阅读全文
posted @ 2018-09-17 15:56 degvx 阅读(149) 评论(0) 推荐(0)
摘要: 题意:一个'(' , ')' , '#'组成的串,可将'#'换成至少一个')'。问一个换法能使串匹配。 至少换成一个,那么就先都换成一个,记结果为str。最后一个')'的后面没有未匹配的'('时可行。否则输出-1。因为后面不可能再添加')'了。如果str会因为')'匹配不到'('则无解。否则有解,将 阅读全文
posted @ 2018-09-17 12:14 degvx 阅读(142) 评论(0) 推荐(0)
摘要: 题意:给出,n和飞行员高度h,n是区间数。在区间里飞行员高度不变,其它地方每秒高度-1,x坐标+1。问在高度变为0以前,x坐标最多加多少? 用数组gap记录本区间右端到下一个区间左端的距离。用sum记录gap数组的前i项和(前缀和)。其实飞行员能飞过的gap的距离之和必须小于高度h。那么对于i(表示 阅读全文
posted @ 2018-09-17 10:55 degvx 阅读(255) 评论(0) 推荐(0)
摘要: 题意:网球有一方赢t球算一场,先赢s场的获胜。数列arr(长度为n)记录了每场的胜利者,问可能的t和s。 首先,合法的场景必须: 1两方赢的场数不一样多。 2赢多的一方最后一场必须赢。 3最后一场必须打满(即胜利者赢了t球) 首先要两个sum数组记录arr前i个元素中有多少个1,多少个2。先枚举t( 阅读全文
posted @ 2018-09-17 10:15 degvx 阅读(231) 评论(0) 推荐(0)