摘要: 3090: Coci2009 [podjela] Description 有 N 个农民, 他们住在 N 个不同的村子里. 这 N 个村子形成一棵树. 每个农民初始时获得 X 的钱. 每一次操作, 一个农民可以从它自己的钱中, 取出任意数量的钱, 交给某个相邻村子的农民. 对于每个农民给定一个值 v 阅读全文
posted @ 2018-09-29 20:37 Monster_Qi 阅读(321) 评论(0) 推荐(0) 编辑
摘要: 传送门 解题思路 首先我们发现这道题s的长度很小,所以考虑点暴力的做法,状压dp或搜索。本蒟蒻搜索永远调不对,所以就写了个状压dp。因为所有s里的数都要出现一次,并且最后的答案是要求整除,那么我们设dp[S][k]表示现在所选的状态集合为S,当前所选的数组成的数字对d取余后的值为k,这样就可以转移了 阅读全文
posted @ 2018-09-29 17:47 Monster_Qi 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 传送门 解题思路 学习了一下玄学算法--模拟退火,首先要求平衡处,也就是求势能最小的地方,就是求这个点到所有点的距离*重量最小。剩下的几乎是模拟退火的板子了。 #include<iostream> #include<cstdio> #include<cstring> #include<cmath> 阅读全文
posted @ 2018-09-29 15:41 Monster_Qi 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 传送门 解题思路 区间加等差数列+单点询问,用差分+线段树解决,线段树里维护的就是差分数组,区间加等差数列相当于在差分序列中l位置处+首项的值,r+1位置处-末项的值,中间加公差的值,然后单点询问就相当于在差分数列中求前缀和。 #include<iostream> #include<cstdio> 阅读全文
posted @ 2018-09-29 15:24 Monster_Qi 阅读(131) 评论(0) 推荐(0) 编辑