bzoj 2428: [HAOI2006]均分数据 随机化】的更多相关文章

2428: [HAOI2006]均分数据 Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/problem.php?id=2428 Description 已知N个正整数:A1.A2.…….An .今要将它们分成M组,使得各组数据的数值和最平均,即各组的均方差最小.均方差公式如下: ,其中σ为均方差,是各组数据和的平均值,xi为第i组数据的数值和. Input 第一行是两个整数,表示N,M…
题目链接 模拟退火: 模拟退火!每次随机一个位置加给sum[]最小的组. 参数真特么玄学啊..气的不想调了(其实就是想刷刷最优解) 如果用DP去算好像更准.. //832kb 428ms #include <cmath> #include <cstdio> #include <cctype> #include <cstring> #include <assert.h> #include <algorithm> #define gc()…
每次把元素随便扔随机一个初始解,退火时每次随机拿一个元素扔到随机一个集合里,当温度高时因为状态不稳定扔到那个元素和最小的里边. 如果新解优,更新ans. 把原式拆一下,就可以用int存了. bzoj 2428 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> #define N 55 using namespace s…
#include<cstdio> #include<iostream> #include<cstdlib> #include<ctime> #include<cstring> #include<cmath> #include<algorithm> #define M 100 using namespace std; int n,m,a[M],pos[M]; double rev,sum[M],ans,mn=1e30,pre…
洛谷P2503 [HAOI2006]均分数据(随机化贪心) 现在来看这个题就是水题,但模拟赛时想了1个小时贪心,推了一堆结论,最后发现贪心做 不了, 又想了半个小时dp 发现dp好像也做不了,在随机化贪心和模拟退火 选了模拟退火但写炸了.(我怎么这么水).我们来看这个题,采取 随机化贪心,利用random_shuffle函数将所有数字不停随机 化,每次 随机化后贪心的取就可以,因为采取的是随机化贪心,所以贪心策略不必最优,我们用x数组去存 储每个位置的值,枚举每一个数字,将数字加到最小的位置即可…
模拟退火.一种十分玄学的随机算法,网上可以查到比较详细的资料. 先随机地把数分成m组,每次随机地选择一个数,一开始直接选最小的一组,后来就随机一组,把这个数换到该组看看答案能不能变小,如果变小则换,如果没有变小,按模拟退火的玄学方式判断一下,也要交换. srand(time(0))在bzoj会RE,不知为何. 非常玄学的正确性,没拍多少数据就会出现差别,然而OJ上可以过的. //Twenty #include<cstdio> #include<cstdlib> #include&l…
模拟退火.挺好理解的.然后res打成了ans一直WA一直WA...!!!一定要注意嗷嗷嗷一定要注意嗷嗷嗷一定要注意嗷嗷嗷. 然后我就一直卡一直卡...发现最少1800次的时候就可以出解了.然后我就去调T的参数.0.85/0.82都会WA.因为T的变化幅度太大.0.95/0.92都能A. bzoj#31挺开心的. #include<cstdio> #include<cstring> #include<cctype> #include<algorithm> #i…
P2503 [HAOI2006]均分数据 模拟退火+dp (不得不说,我今天欧气爆棚) 随机出1个数列,然后跑一遍dp统计 #include<iostream> #include<cstdio> #include<cstring> #include<cctype> #include<cstdlib> #include<cmath> #include<ctime> #define re register using name…
[HAOI2006]均分数据 Time Limit: 5 Sec  Memory Limit: 128 MBSubmit: 3434  Solved: 1091[Submit][Status][Discuss] Description 已知N个正整数:A1.A2.…….An .今要将它们分成M组,使得各组数据的数值和最平均,即各组的均方差最小.均方差公式如下: ,其中σ为均方差,是各组数据和的平均值,xi为第i组数据的数值和. Input 第一行是两个整数,表示N,M的值(N是整数个数,M是要分…
http://www.lydsy.com/JudgeOnline/problem.php?id=2428 http://172.20.6.3/Problem_Show.asp?id=1533 http://blog.csdn.net/qpswwww/article/details/44161053 本来用了看的博客里的srand想缩短时间不知道为什么wa了,在本校oj也挂了一组,但是不管是挂的数据在本地测,还是成组数据在本地测都是ac的.问了学长然后去掉了srand提高了次数,ac了.应该就是s…