3703: 昊昊的壮举之造福社会

Time Limit: 10 Sec  Memory Limit: 256 MB
Submit: 12  Solved: 4
[Submit][Status][Discuss]

Description

“A secret makes a woman woman.”——Vermouth
“图灵机”昊昊,修八尺有余,而形貌昳丽,∴闻名遐迩。(昊昊:你们天天黑我因为我长得太帅了“众女嫉余之蛾眉兮,谣诼谓余以善淫”,你们啊,naive!!)有关人士称,据内部可靠消息,昊昊受到了很多“知名人士”的青睐,曾经参观过昊昊的知名人士,比如轲老板&老(da)板(biao)娘(mei),董天师&潮,黄大大&土豆泥,还有各种黄学长等。
这天,昊昊默默在给自己带来无限仰慕buff的财神爷面前矗立,私语道:“我是不是该造福社会了呢?”Action speaks louder than words.于是昊昊决定迈出卖出自己的第一步。
“图灵机”要造福社会,必从素有“图灵机之乡”的大胡建开始。不是有句名言“图灵机要从娃娃抓起”?于是昊昊找来了胡建各路名校,如zpyz等,希望他们能够买下昊昊领导的n个图灵机们。由于图灵机也实行“n品中正制”,故每台图灵机的价格不一定相同,要想买下第i台图灵机需要花费W[i]CNY,而每所学校对这项造福社会的事业的重视程度也不同,第i所学校的可支配资金为mon[i]CNY。为了简化问题,不妨假设图灵机是不可以被拆卸的,因此一个图灵机只能造福一个学校,但是一个学校为了自己拥有更强大的实力可以拥有多个图灵机。
昊昊自然是希望能够有尽量多的图灵机实行光荣的造福社会的使命,但是他还要四处奔波推销自己,因此这个任务就交给你咯^_^(昊昊:替我挡着~)

Input

第一行一个N,接下来N行,每行一个MON[I]。
接下来一行是一个M,之后M行,每行一个数,W[I]。

Output

仅一个数,即最多能被买下的图灵机的个数。

Sample Input

2
20
10
4
8
7
10
9

Sample Output

HINT

数据规模与约定

样例说明:4台图灵机两所学校不能都买下,所以最多只能买下3台。其中一种方案:第一所学校买下前两台,第二所学校买下第三台。

对于100%的数据:  0<N<=10000,0<M<=400000,0<mon<=1500,0<wi<=128

Source

[Submit][Status][Discuss]
先是按照1246的套路全下 在考虑一些单调性的优化 因为价格相同的餐厅很多,以及有相同钱的商人很多 所以对于价格相同的餐厅,承包的商人的初始金钱要单调非增 这样可以减少很多冗余枚举 但是,有几个数据恰好卡了苟蒻的程序。。GG

#include<iostream>
#include<cstdio>
#include<queue>
#include<vector>
#include<bitset>
#include<algorithm>
#include<cstring>
#include<map>
#include<stack>
#include<set>
#include<cmath>
#include<ext/pb_ds/priority_queue.hpp>
using namespace std;const int maxn = 1E4 + 10;
const int maxm = maxn*40;
const int maxs = 1E6 + 10;int n,m,tot,MaxMoney,Min,Max,c[maxn],Last[130],mon[maxn],w[maxm],sum[maxm],top,Now[maxs],Waste[maxs],I[maxs],Pos[maxs],Rest[maxs];
bool bo[maxn];bool DFS(int pos,int waste)
{if (waste > Max) return 0;if (!pos) return 1;int Now = Last[w[pos]];for (int i = Now; i >= 1; i--) {if (mon[i] < w[pos]) continue;mon[i] -= w[pos];int Add = 0;if (mon[i] < Min) Add = mon[i];Last[w[pos]] = i;if (DFS(pos-1,waste + Add)) return 1;mon[i] += w[pos];}Last[w[pos]] = Now;return 0;
}int getint()
{char ch = getchar();int ret = 0;while (ch < '0' || '9' < ch) ch = getchar();while ('0' <= ch && ch <= '9')ret = ret*10 + ch - '0',ch = getchar();return ret;
}bool Judge(int now)
{if (sum[now] > tot || w[now] > c[n]) return 0;Max = tot - sum[now];for (int i = 1; i <= n; i++) mon[i] = c[i];for (int i = 1; i <= now; i++)Last[w[i]] = n;return DFS(now,0);
}int main()
{#ifdef DMC//freopen("DMC.txt","r",stdin);freopen("input5.in","r",stdin);#endifcin >> n;for (int i = 1; i <= n; i++) c[i] = getint(),tot += c[i];cin >> m;for (int i = 1; i <= m; i++)w[i] = getint();sort(w + 1,w + m + 1);for (int i = 1; i <= n; i++)if (c[i] < w[1]) tot -= c[i],bo[i] = 1;int N = 0;for (int i = 1; i <= n; i++)if (!bo[i]) c[++N] = c[i];sort(c + 1,c + N + 1); n = N;for (int i = 1; i <= m; i++)sum[i] = sum[i-1] + w[i];int L = 0,R = m;int posi = 1;for (int i = 1; i <= m; i++) {while (posi <= n && w[i] > c[posi]) ++posi;if (c[posi] >= w[i]) ++L,++posi;}while (R - L > 1) {int mid = (L + R) >> 1;if (Judge(mid)) L = mid;else R = mid;}if (Judge(R)) cout << R;else cout << L;return 0;
}

3703: 昊昊的壮举之造福社会相关推荐

  1. 【昊昊带你学】android-解决/data/dalvik-cache占用内存的问题

    较新款android手机应该不存在此类问题.一般都是内存容量较小的老android手机会有这个问题. 安装软件的空间非常小,可以通过app2sd把软件移到sd卡上(sd卡上分一个ext2分区).有时候 ...

  2. 难以想象!未来十年,颠覆性技术将带来这些社会变革……

    作者:张一清 来源:财新<中国改革> 摘要:技术飞速进步改变生活,人类是否准备好迎接它们给生活.制度和文化带来的挑战? 现代社会,技术的更新速度永远比你想得更快.当感叹技术的飞速进步,当憧 ...

  3. 揭秘社会工程学(让你免于被诈骗的命运)

    说到反诈知识,就不得不普及一些基础知识,比如,什么是社会工程学?社会工程学类知识会被哪些人用到?答案其实很简单,社会工程学,说的高雅些,是一门心理学科,是一门心理学技术,类似于洗脑术,说的直白些,就是 ...

  4. 人工智能时代将如何改变社会?

    ​ 麦肯锡分析师估计,所有经济部门的自动化潜力约为50%.这意味着,目前全球劳动力中人们有偿从事的所有活动中,约有一半可能通过当前可用的技术实现自动化.它代表了近15万亿美元的工资(大约相当于今天的中 ...

  5. 回馈社会 初志企业文化践行月活动顺利开展

    一个优秀的企业,不仅要有成熟的产品与完善的服务,更重要的是要有一颗责任的心.因为企业的发展,离不开时代与社会的大环境,而社会的和谐与发展,同样需要企业的推动,这正是一个企业公民所应具有的使命. &qu ...

  6. 对医疗数据泄露零容忍,数据安全治理势在必行

    4月25日,"医疗行业数据安全治理实践与应用"专场卫星会于杭州 · 2021 CHINC大会同期圆满召开!此次活动由安华金和承办,国家卫生健康委医院管理研究所 副所长 王凯,安华金 ...

  7. 大牛预测2018年深度学习走向:大批AI硬件初创将失败

    来源:智东西 导语:本文作者Carlos E. Perez是Intuition Machine公司的创始人,曾经编写<人工直觉与深度学习手册>( Artificial Intuition ...

  8. 形容等待时间长的句子_关于等待的句子大全

    关于等待的句子大全 篇一:关于等待的句子 1.因为等待,所以让我们才渐渐成熟,也因为等待,所以让我们渐渐思考. 2.学会等待不是一种守株待兔的好逸恶劳,也不是渴望天上掉饼的异想天开,而是学会在等待之中 ...

  9. 一个承载无数悲痛的网站

    前言 今天头条给我推送了一个新闻,说是台湾一个自拍博主,为博眼球深夜孤身前往一个废弃医院探险,结果意外发现了一个吊死的干尸,全过程在网上被全程直播,警方到现场通过干尸身上的证件确认是一名一年多前家人就 ...

最新文章

  1. Java锁有哪些种类,以及区别
  2. 反射 reflect
  3. JavaScript的Prototype实现
  4. 华 为 路 由 器 命 令 大 全
  5. Codeforces Round #703 (Div. 2) B.Eastern Exhibition 中位数结论
  6. MySQL如何查全部序列_Oracle查询所有序列
  7. 北上广等一线城市 IT 岗位已接近饱和?
  8. android中ScrollView和GridView/ListView共存时,ScrollView不在顶部的解决方法
  9. 计算机毕业设计ssm+sqlserver房屋租赁管理系统
  10. Centos7安装Informix
  11. 这一代系统,真的不行!(一)
  12. Python生成简易用户名及密码文件
  13. Python实现rosbag转换成video
  14. JavaScript—有关如何实现全选/全不选、检查是否选中了复选框。
  15. 深耕5G云专网,阿里云祝顺民入选“2022年度5G创新人物”
  16. dubbo源码分析25 -- 序列化与反序列化
  17. 模拟两个神经元的连接,突触前神经元分别传递兴奋性和抑制性信号给突触后神经元(神经元模型使用HH方程)
  18. 微信充值钱数更改但微信充值单钱数不变的问题
  19. moment函数转换后的时间不正确,带有 “sa“等奇怪的字母
  20. 计算机唤醒休眠蓝屏,win7唤醒睡眠时经常蓝屏

热门文章

  1. 跳出打工圈!程序员要如何走上创业逆袭路,获得百万、千万?
  2. 记录树莓派3B+系统备份篇
  3. 计算机专业英语第二单元,计算机专业英语第二单元译文.doc
  4. OpenStack学习
  5. IDEA连接数据库时区问题,报红Server returns invalid timezone. Need to set ‘serverTimezone‘ property.
  6. Microsoft Visual Studio 2015 Installer Projects 打包 安装 部署
  7. 如何严谨地做性能测试
  8. mysql 查询近两周的记录_查询近一周、近两周的数据
  9. POJ-1190 生日蛋糕(dfs+剪枝)
  10. mysql deadlock found_MySQLTransactionRollbackException: Deadlock found when trying to get lock