HDU 6168 Numbers 思维
来源:互联网 发布:3b代码编程及图案 编辑:程序博客网 时间:2024/05/22 10:49
题目
HDU 6168
分析
官方题解
和HDU 6092很类似,不过区别在于6092那道题目可以取多个不同的数字组成一个新的数,所以要用0-1背包。这道题目只能取两个数字组成一个新的数,所以用一个
代码
#include <cstring>#include <cstdio>#include <vector>#include <map>using namespace std;const int N = 125255;map<int, int> M1;map<int, int> M2;int b[N], m;int a[N], n;int main(){ //freopen("test.txt", "r", stdin); //freopen("out.txt", "w", stdout); while (~scanf("%d", &m)) { M1.clear(); M2.clear(); for (int i = 1; i <= m; i++) { scanf("%d", &b[i]); M1[b[i]]++; } n = 0; for (map<int, int>::iterator it = M1.begin(); it != M1.end(); it++) { int val = it->first; int cnt1 = it->second; int cnt2; if (!M2.count(val)) cnt2 = 0; else cnt2 = M2[val]; int cnt3 = cnt1 - cnt2; for (int j = 1; j <= cnt3; j++) { a[++n] = val; for (int k = 1; k < n; k++) M2[val + a[k]]++; } } printf("%d\n", n); for (int i = 1; i <= n; i++) printf("%d%c", a[i], i < n ? ' ' : '\n'); } return 0;}
阅读全文
1 0
- HDU 6168 Numbers 思维
- HDU 6168 Numbers 思维
- Hdu 6168 Numbers【思维+暴力】
- HDU 6168 Numbers(数列,思维)
- 【HDU 1058 Humble Numbers】+ 思维
- HDU-1058-Humble Numbers【思维】
- HDU 1058 Humble Numbers (思维)
- HDU 5505 GT and numbers【思维+GCD】
- HDU 6168 Numbers(排序)
- HDU 6168 Numbers
- HDU 6168 Numbers
- hdu--6168--Numbers
- HDU 6168 Numbers
- HDU 6168 Numbers
- HDU 6168 Numbers【水题】
- hdu 6168 Numbers
- hdu 6168 Numbers【map】
- HDU 6168 Numbers
- kimball的维度的缓慢变化总结
- Solr检索配置
- FastDFS 实现分布式文件系统(图片的上传)
- 什么情况下使用指针的引用(指针)
- J2EE搭建之七 创建一个Dynamic Web Project
- HDU 6168 Numbers 思维
- phpstorm 实现同步代码到远程虚拟机
- java-基础复习-工具类
- 【Solution】Git添加GitHub远程库免去账号密码验证
- javascript数据结构系列(五)-串
- 垃圾回收机制
- angular2中数据绑定方法总结和管道使用
- 以百度地图为例,对android手机移动端地图开发进行简介
- Java高并发,如何解决,什么方式解决