摘要: 一道状压题,但今天闲来无事又用遗传乱搞了一下。 设了一个DNA数组,DNA[i]记录第i个物品放在哪个组里。适应度是n-这个生物的组数+1. 交配选用的是轮盘赌和单亲繁殖——0.3的几率单点变异。(事实上有性生殖我似乎写不出来……代码量略大) 种群大小开到了400,在vijos上繁殖了2050代,下 阅读全文
posted @ 2017-10-16 21:22 Konoset 阅读(303) 评论(0) 推荐(0) 编辑
摘要: 安利photoshop和sai画图软件。 你会发现sai的钢笔非常好用——事实上它就是一个能在画完之后改粗细的画笔。所以画起来很爽。 Photoshop渣,所以我用Photoshop只干两件事: 载入山脉形状画笔,然后开始到处乱点。第二就是调浮雕效果,内投影,外投影,内发光,外发光什么的 关于这个地 阅读全文
posted @ 2017-10-15 11:18 Konoset 阅读(270) 评论(3) 推荐(2) 编辑
摘要: 这题真是“容易”。呵呵呵。 参考题解:xyz32768 代码 阅读全文
posted @ 2017-10-15 09:24 Konoset 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 代码如下: 省时省力,极为方便。 阅读全文
posted @ 2017-10-15 09:21 Konoset 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 题目链接 很巧妙的想法。一开始将1~k-1加入堆中,然后每次从堆里取出一个最小的,判断是不是答案,如果不是,那么就枚举新数的末一位加上。 代码如下 阅读全文
posted @ 2017-10-13 17:21 Konoset 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 题目链接 有个定理叫gcd(f(n),f(m))=f(gcd(n,m)) 所以递推就好了。 阅读全文
posted @ 2017-10-13 16:56 Konoset 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 题目链接 难题,所以会讲得细一些。 首先我们想如何统计区间[l,r]内不同贝壳的个数。 第一个思路就是线段树/树状数组,query(1,r)-query(1,l-1)对不对? 然而这样是不对的。 然后我们举个例子: 例如有一段区间是[ 1 2 3 1 2 3 1 2 3 ]这样子,如果要统计不同贝壳 阅读全文
posted @ 2017-10-13 16:47 Konoset 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 题目链接 话说我存一些只需要按照一个关键字排序的双元素结构体的时候老是喜欢使用链式前向星…… DP。f[i]表示前i个位置奶牛最多能吃到的草。转移方程如下: 其中j满足y[j]=i。 代码如下: 阅读全文
posted @ 2017-10-12 17:41 Konoset 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 题目链接 对食材进行排序,重载运算符代码如下: 理由是,如果你先做当前的食材,让下一个食材等着,那下一个食材的损失就是c*a.b 如果你先做下一个食材,让当前食材等着,当前食材损失就是a.c*b 那当然以损失小为原则排序 随后就是普通的01背包。代码如下: 阅读全文
posted @ 2017-10-12 10:13 Konoset 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 题目链接 设f[s]表示二进制集合表示下的s集合都打掉用了多少小鸟。 预处理出lne[i][j]表示i、j确定的抛物线能打掉的小鸟集合。 于是就有f[s|lne[i][j]]=min(f[s|lne[i][j]],f[s]+1); 什么?两个点确定不了抛物线?原点是不是被忘掉了…… 代码如下 阅读全文
posted @ 2017-10-09 16:29 Konoset 阅读(419) 评论(0) 推荐(0) 编辑
摘要: 题目链接 由于是暴搜题,所以这篇博客只讲怎么优化剪枝,以及一些细节。 模拟消除思路:因为消除可以拆分成小的横条或竖条,而这些条的长度至少为三,所以一块可消除的区域至少会有一个中心点。这里的中心点可以不在正中间,只需要不是条上的第一个或者最后一个。 于是枚举中间点,搜索它为中心最多向四个方向能扩展多远 阅读全文
posted @ 2017-10-08 17:29 Konoset 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 题目链接 见题解: feilongz。 这里只放代码。 阅读全文
posted @ 2017-09-30 10:23 Konoset 阅读(190) 评论(1) 推荐(0) 编辑
摘要: 题目链接 话说还真没见过能影响两行的状压。想了半天想出来f数组再多一维就能表示,但是没想到怎么才能不爆空间…… 也是从这道题里学到的一个妙招。 可以把合法状态存到一个数组里,然后用数组下标来映射状态。感觉好强啊 然后……这题差不多就完了。 阅读全文
posted @ 2017-09-30 06:51 Konoset 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 题目链接 这题的状态转移方程真是粗鄙。 f[i][j][k]表示前i行用了j个矩阵状态为k的时候的最大值。 k=0:两列都不选。 k=1:取左弃右。 k=2:选右弃左。 k=3:左右都选,但分属于两个独立矩阵。 k=4:左右都选,且同属于一个矩阵。 参考题解:孤寂的时代 代码 阅读全文
posted @ 2017-09-29 07:13 Konoset 阅读(254) 评论(1) 推荐(0) 编辑
摘要: 题目链接 GuessYCB的题解讲的很棒。就这样。 因为这题我不会,而题解又讲的太全太详细太好了。 阅读全文
posted @ 2017-09-28 17:36 Konoset 阅读(140) 评论(0) 推荐(0) 编辑