随笔分类 -  思维题

摘要:#1475 : 数组分拆 #1475 : 数组分拆 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Ho得到了一个数组作为他的新年礼物,他非常喜欢这个数组! 在仔细研究了几天之后,小Ho成功的将这个数组拆成了若干段,并且每段的和都不为0! 现在小Ho希望知道,这样的拆 阅读全文
posted @ 2017-04-17 21:18 vwirtveurit 阅读(770) 评论(0) 推荐(0)
摘要:从前往后扫,找到一出现次数为0的数,从后面找一个出现不为0的数转化而来。设置两指针l, r来处理。 阅读全文
posted @ 2016-11-26 16:03 vwirtveurit 阅读(327) 评论(0) 推荐(0)
摘要:湘潭邀请赛的一题,名字叫"超级FFT"最终暴力就行,还是思维不够灵活,要吸取教训。 由于每组数据总量只有1e5这个级别,和不超过1e6,故先预处理再暴力即可。 阅读全文
posted @ 2016-11-06 20:14 vwirtveurit 阅读(366) 评论(0) 推荐(0)
摘要:背包问题,由于数据大不容易dp,改为剪枝,先按性价比排序,若剩下的背包空间都以最高性价比选时不会比已找到的最优解更好时则剪枝,即 if(val + (LD)pk[d].val / (LD)pk[d].w * (lim - w) + EPS <= ans){ return; } 没想到一发过,0ms 阅读全文
posted @ 2016-11-05 22:08 vwirtveurit 阅读(550) 评论(0) 推荐(0)
摘要:题意:给你含有n个数的序列,每次你可以选一个子序列将上面所有的数字加1或者减1,目标是把所有数字变成相同的,问最少步数,和那个相同的数字有多少种可能。 将原序列转化为差分序列,即a[2] - a[1], a[3] -a[2]……, a[n] - a[n -1] 将原序列l,到r增加1,相当于差分序列 阅读全文
posted @ 2016-10-03 00:24 vwirtveurit 阅读(445) 评论(0) 推荐(0)
摘要:同行元素递减,同列元素递增,采用嵌套二分的方法 阅读全文
posted @ 2016-10-02 00:05 vwirtveurit 阅读(271) 评论(0) 推荐(0)
摘要:湘潭邀请赛的C题,哈密顿路径,边为有向且给定的所有边起点小于终点,怎么感觉是脑筋急转弯? 以后一定要牢记思维活跃一点,把复杂的事情尽量简单化而不是简单的事情复杂化。 阅读全文
posted @ 2016-08-30 13:51 vwirtveurit 阅读(319) 评论(0) 推荐(0)
摘要:二分思想,对所要花费的时间进行二分,再以模拟的形式进行验证是否可行。 使用二分法,可以将一个求最优解的问题转化为一个判定问题,优雅的暴力。 阅读全文
posted @ 2016-08-05 19:45 vwirtveurit 阅读(204) 评论(0) 推荐(0)
摘要:买酒 Time Limit: 1000 ms Case Time Limit: 1000 ms Memory Limit: 64 MBTotal Submission: 70 Submission Accepted: 22 Description 众所周知,西瓜是一个很爱喝酒的人。有一天西瓜和朋友去 阅读全文
posted @ 2016-08-05 16:12 vwirtveurit 阅读(206) 评论(0) 推荐(0)
摘要:树状数组,与Turing Tree类似。 xr[i]表示从1到i的抑或,树状数组维护从1到i每个数只考虑一次的异或,结果为sum(r) ^ sum(l) ^ xr[r] ^ xr[l] 其中xr[r] ^ xr[l] 相当于l + 1到r出现奇数次的数的异或,sum(r) ^ sum(l)表示l + 阅读全文
posted @ 2016-08-05 10:13 vwirtveurit 阅读(313) 评论(0) 推荐(0)
摘要:应该是machine 和POJ3783 Balls类型相似。 现在上界为i元,猜错次数最多为j时,开始猜测为k元,有两种情况: 1 猜中:(i - k + 1) * dp[i - k][j] 2 猜不中 k * dp[k - 1][j - 1] 两种情况的均值即为第一次猜测为k时的期望,1 <= k 阅读全文
posted @ 2016-08-04 12:48 vwirtveurit 阅读(213) 评论(0) 推荐(0)
摘要:求组成的等腰三角形面积最大值。 对此题的总结:暴力出奇迹 组成的三角形放置方式一共只有4种,用ans表示目前已知的最长三角形的边长,从上到下,从左到右枚举顶点,再枚举边长,一个重要剪枝是枚举边长l时先判断l = ans时的边能不能对称。 最终暴力只要200多ms,而时间限制为10s #include 阅读全文
posted @ 2016-07-23 15:54 vwirtveurit 阅读(281) 评论(0) 推荐(0)