随机化算法+贪心!

将3*k排序后分成3分,将第二第三份的和分别加起来,让和与500*k比较,都大于则输出,否则,随机生成2个数,在第二第三份中交换!

代码如下:

#include<iostream>
#include<stdio.h>
#include<cmath>
#include<algorithm>
using namespace std;
struct an
{int w,lab;
}p[200];
bool cmp(const an &a,const an &b)
{return a.w<b.w;
}
int main()
{int i,j,n,sa,sb,ans,a,b;cin>>n;for(i=0;i<3*n;i++){cin>>p[i].w;p[i].lab=i+1;}sort(p,p+3*n,cmp);sa=0;sb=0;for(i=n;i<n+n;i++)sa+=p[i].w;for(i=n+n;i<3*n;i++)sb+=p[i].w;ans=n*500;bool flag=0;if(sa>ans&&sb>ans) flag=1;while(!flag){a=rand()%n+n;b=rand()%n+2*n;sa=sa-p[a].w+p[b].w;sb=sb-p[b].w+p[a].w;swap(p[a],p[b]);if(sa>ans&&sb>ans){flag=1;break;}}for(i=0;i<3*n;i++)cout<<p[i].lab<<endl;return 0;
}

View Code

转载于:https://www.cnblogs.com/xin-hua/p/3234655.html

poj 2454 Jersey Politics 随机化相关推荐

  1. 【POJ】2454.Jersey Politics

    题解 有种迷一样的讽刺效果 每个城市有1000头牛,然后你现在知道对于自己政党每个城市的选票,把城市划分成三个州,保证在至少两个州内获胜 找出前2K大的然后random_shuffle,直到前K个加起 ...

  2. 浅浅地谈一下随机算法【poj2454】【poj3318】

    随机算法我也只是稍微接触了一下,就是想写篇博客自己稍微总结一下 其实随机算法也算是一个玄学吧,运气不好还是会wa.但是我们知道,计算机可以在短时间内计算大量的数据,所以碰到正确答案的概率还是挺大的. ...

  3. POJ ZOJ题目分类

    POJ,ZOJ题目分类(多篇整合版,分类很细致,全面) 标签: 题目分类POJ整理 2015-04-18 14:44 1672人阅读 评论(0) 收藏 举报 本文章已收录于: 分类: ACM资料(5) ...

  4. POJ,ZOJ题目分类(多篇整合版,分类很细致,全面)

    水题: 3299,2159,2739,1083,2262,1503,3006,2255,3094 初级: 一.基本算法:        (1)枚举 (1753,2965)       (2)贪心(13 ...

  5. POJ 计算几何入门题目推荐

      其实也谈不上推荐,只是自己做过的题目而已,甚至有的题目尚未AC,让在挣扎中.之所以推荐计算几何题,是因为,本人感觉ACM各种算法中计算几何算是比较实际的算法,在很多领域有着重要的用途(例如本人的专 ...

  6. [Z]POJ 计算几何入门题目推荐[转PKKJ]

    http://www.cnblogs.com/eric-blog/archive/2011/05/31/2064785.html http://hi.baidu.com/novosbirsk/blog ...

  7. (精)【ACM刷题之路】POJ题目详细多角度分类及推荐题目

    POJ上的一些水题(可用来练手和增加自信) (poj3299,poj2159,poj2739,poj1083,poj2262,poj1503,poj3006,poj2255,poj3094) 初期: ...

  8. POJ - 2069 Super Star HDU - 3007 Buried memory

    模拟退火求最小球覆盖和最小圆覆盖 原本在我的认识中,模拟退火一定要有一个随机化在里面. 但是有些模拟退火,你可以清楚地意识到答案是可以向某个方向逼近的,这个时候就不用随机了. 比如像第一道题POJ 2 ...

  9. (Step2-500题)POJ训练计划+SGU

    经过Step1-500题训练,接下来可以开始Step2-500题,包括POJ训练计划的298题和SGU前两章200题.需要1-1年半时间继续提高解决问题和编码实现能力,加油ACMer!任重道远 Ste ...

最新文章

  1. css 图片居中放大,不同比例图片居中缩放显示的三种方法
  2. IOS和Andriod手机浏览器内核
  3. 在linux下安装matlab2013a的经验
  4. Tapestry框架概述
  5. 软件测试面试选择判断提,软件测试面试常考判断题
  6. php 越权 漏洞,PHPYUN最新版多处SQL注入及越权操作二
  7. Java中的原生动态代理和CGLIB动态代理的原理,我不信你全知道!
  8. Linux之vmstat命令
  9. Pulseaudio之nemo(二十二)
  10. jqgrid dataevents change 只触发一次_王者荣耀:最难触发的4个被动,张飞上榜,他:我太难了!...
  11. apache2 html文件夹,需要与我的Apache2网站配置文件
  12. JAVA集合系列(6):HashMap
  13. 窃取百度搜索结果曝光,今日头条一直穿着“皇帝的新装”?
  14. 《非洲归来 不必远方》读后感
  15. 同一个接口返回多种数据类型
  16. uni-app - 解决 H5 微信公众号授权登录后,无法回退到 “上一页“ 的问题(微信登录后如何返回到触发它的那一页?无法通过 uni.navigateBack() 返回到前一页的问题?)详细教程
  17. antd react table 嵌套子表格例子
  18. 炉石传说android手机版本,炉石传说安卓版下载gpu型号选择详细讲解介绍
  19. 地图绘制和四色算法,图搜索算法,最小生成树算法,最短路径算法
  20. HTTP缓存控制小结

热门文章

  1. c语言获取linux的CPU、内存、IO、磁盘、网速(本机编译通过)
  2. AndroidStudio3.0无法打开Android Device Monitor的解决办法(An error has occurred on Android Device Monitor)...
  3. [ios]NSLock锁
  4. WCF布署问题 :HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。...
  5. 微信开发之连接数据库
  6. OPenfire简介
  7. Android防止按钮连续点击
  8. window平台下 Eclipse Ndk开发中的Method 'NewStringUTF' could not be resolved问题
  9. (0054)iOS开发之制作静态库详解
  10. [Bzoj1061][Noi2008]志愿者招募(费用流)