2017.1.19切题总结
上午切了P1920
这道题是最优骗分+贪心
原题:
有N (1 <= N <= 1,000,000)个 true 或者false的问题。
其中答案是true的问题的个数有K种可能:t_1, t_2, t_3,..., t_K (0 <= t_i<= N; 0 <= K <= 10,000). 但是我们无法知道具体哪个问题的答案是true或false。
现在Bessie要回答这N个问题,为了在运气最差的情况下答对的题目最多,她必须采取最优策略。比如有6个问题, N=6, k = 2, t_1 = 0, t_2 = 3. 也就是说,这6个问题中,真命题的个数可能是0个,也可能是3个。那么Bessie为了在运气最差的情况答对的问题最多,她可以回答每个问题都是的答案都是false. 可以看出,如果她运气好的话,她能答对6题,但如果运气差的话(即有3到是true的问题),那么她只能答对3题(因为她的回答是6个false)。
因此,Bessie在最差的情况下能答对3题。
我们来看看,如果其它策略,Bessie能否在运气最差的情况下答对的题目超过3题。比如:Bessie的回答是3个true, 3个false. 那么最坏的情况是什么呢?由于Bessie并不知道具体的某问题的答案,可能她全部答错。也就是3个真命题,她的回答是false,而3个假命题,她却刚好回答是yes,这种情况Bessie答对0道题,显然没有上面的策略优。
你的任务是:在采取最优策略下,她在运气最差时,最多能答对几道题
这道题有三种情况
全选false,则采取true最多的可能
全选true,则采取true最少的可能
找出相邻差最大的两个可能,取其差的中间值
情况1情况2不需要证明
情况3证明:
t_i设t_x 和 t_y是相邻的两个t_i(t_x>t_y),FJ可以保证(t_x-t_y)/2个正确答案,他只需选择N-[(t_x+t_y)/2]个正确答案,其余全部选择false
代码:
//Earl_WR 2017.1.19 #include <iostream> #include <cstdio> #include <string> #include <cstring> #include <algorithm> using namespace std; int result=0; int maxx=-1; int n,k; int a[10010],t_f,t_t,t_e; int read() {int x=0,f=1;char ch=getchar();while (ch<'0' || ch>'9'){if (ch=='-')f=-1;ch=getchar();}while (ch>='0' && ch<='9'){x=x*10+ch-'0';ch=getchar();}return x*f; } void in() {n=read();k=read();for (int i=1;i<=k;i++){a[i]=read();} } int main() {//freopen ("test.in","r",stdin);//freopen ("test.out","w",stdout);in();sort(a+1,a+1+k);t_f=n-a[k];if (t_f>result)result=t_f;t_t=a[1];if (t_t>result)result=t_t;for (int i=1;i<=k;i++){if (a[i+1]-a[i]>maxx){maxx=a[i+1]-a[i];}}t_e=maxx/2;if (t_e>result)result=t_e;cout<<result<<endl;return 0; }
下午切了p1828
原题:
Oj上有很多题是联系的,对于某一类型的题目,必须要把基础的题目做完,再总结一段时间,才能够去切不水的题目。
在noip最后一周,老师布置了很多很多的题目来切。
为了更好的备考,为了更好的打好基础,老师规定切题的规则如下:
对于老师布置的某项基础作业X,神犇必须要在做完基础作业X之后的 下Z分钟, (如果难理解,看样例)才能开始做另外一项作业Y,按照老师的说法:间隔的时间是为了让你反思的。
但神犇具有同时完成多项作业的能力,并且神犇切任何的题目只需要一分钟!!
现在神犇想知道,他需要多少时间来完成作业,数据保证神犇可以完成作业。
这道题是经典的拓补排序题
题解见课本
代码:
#include <iostream> #include <cstdio> #include <cstring> #include <cmath> #include <ctime> #include <iomanip> #include <algorithm> #include <cstdlib> #include <string> using namespace std; #define M 100000 struct T {int v,t; }q[M]; int head=1,tail=0,id[M],ans=0,now[M]; int map[1000][1000],m,n; void init() {memset(map,0,sizeof(map));memset(id,0,sizeof(id));cin>>n>>m;for(int i=1;i<=m;i++){int x,y,v;cin>>x>>y>>v;map[x][y]=v;id[y]++;} } void work() {for(int i=0;i<n;i++)if(id[i]==0){q[++tail].v=i;q[tail].t=1;}for(head=1;head<=tail;head++){for(int i=0;i<n;i++)if(map[q[head].v][i]){id[i]--;now[i]=max(now[i],q[head].t+map[q[head].v][i]);if(id[i]==0){q[++tail].v=i;q[tail].t=now[i];}}} } int main() {//freopen("1828.in","r",stdin);//freopen("1828.out","w",stdout); init();work();for(int i=1;i<=tail;i++){//cout<<i<<' '<<q[i].v<<' '<<q[i].t<<endl;ans=max(ans,q[i].t);}cout<<ans<<endl;return 0; }
完事
转载于:https://www.cnblogs.com/Earl-WR/p/6307416.html
2017.1.19切题总结相关推荐
- Xamarin 2017.9.19更新
Xamarin 2017.9.19更新 本次更新是添加Xamarin.iOS对iOS 11和Xcode 9的支持.Visual Studio 2017升级到15.3.5获得更新功能.Visual S ...
- 2017第19届中西部光电与智能制造博览会-重庆光博会
2017第19届中西部光电与智能制造博览会-重庆光博会 时间:2017年8月3-5日 地点:重庆国际会议展览会中心 同期举办: ◆2017激光加工.智能制造及工业大数据论坛 ◆2017中国(重庆)LE ...
- 2017无盘服务器,(2017.11.19)云更新2017正式版2017.6.15.6596无盘xp-win7x32-x64-win10x64公包...
重要更新: 一.重点功能更新 1.三层更新核心组件升级,降低80%的游戏更新量 : 2.新增显卡PNP功能 (新环境部署更简单): 3.同时支持中英双语言环境 (更高Bigger): 4.优化万兆环境 ...
- 2017第19届济南国际数控机床展览会会刊(参展商名录)
2017第19届济南国际数控机床展览会会刊(参展商名录) 展会名称: 2017第19届济南国际数控机床展览会 所属展馆: 济南国际会展中心 开展时间: 2017-09-19 至 09-21 参展商名录 ...
- 2017.10.19 測試總結并今日總結
50/300,越來越有趣- –>個人排名- –>恰似北斗七星,連環曲折- 此真乃:天回北斗掛西樓,掛完Day1掛Day2 金屋无人萤火流. 說說題目: T1:邊界沒有想清楚,多打了-(什麽 ...
- 天下手游服务器维护需要多久,《天下》手游维护更新公告(2017.01.19)
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 1.[贺新春•迎新春舞会] 活动时间:2017年1月19日更新后-1月25日,19:00.20:00和22:00,每场持续30分钟 领取等级:30级及以上 ...
- 2017.04.19 有趣的木楔原理图
古代木工不需要钉子的秘密,一张张动图告诉你! 我们的祖先真的很牛! ▍榫卯,是古典家具之魂,一榫一卯之间,一转一折之际,凝结着中国几千年传统家具文化的精粹,沉淀着流光回转中的经典家具款式的复合传承. ...
- 2017.05.19随笔
在随笔的开始,我便想说,悲剧啊. 好的,今天是我高一的倒数第二个月,去年12月考了NOIP,今年4月份又参加了CQOI2017,因为NOIP考炸了,于是我以第12名无缘省队,在5月的清北体验营中,我又 ...
- jzoj C组 2017.1.19 比赛
第一题--小x的游戏 题目描述 Tac游戏在一个4*4的方格上进行.起先可能会在16个方格中出现一个标记'T',其余的方格是空着的.游戏有两个玩家,小x和小o.小x先开始,然后游戏轮流进行.每一步玩家 ...
最新文章
- 画原型时需要注意什么?
- 汇编(8086cpu): ip寄存器与指令的关系
- JAVA如何在画板加分数_自学了java一段时间,做了个最低配的画板
- 中国再生金属行业发展前景及投资策略研究报告2021版
- 微软欲2012年拿下智能手机系统四成市场
- nginx负载均衡与反向代理
- 【自适应盲均衡3】多模算法(MMA)——复数改进常模算法(MCMA)的理论推导与MATLAB仿真
- vmware安装centos问题
- buck变换器设计matlab_在数字控制系统中实现LLC变换器的电流模式控制的思考
- 【数据结构_浙江大学MOOC】第六七八讲 图
- java接口测试工具_接口模拟测试利器,moco server工具的介绍
- iOS 录音及播放 音波图波形
- 如何用计算机画地形地貌图,基本地形图计算软件(图号计算器)V2.1 最新版
- 鸿蒙电脑系统连不上打印机,电脑与打印机脱机怎么连接
- 学习计划大纲(大一)
- 网盘背后的秘密(稍作修改)
- 小红书的浏览量很低是为什么?有什么提高的方法吗?
- 【-O1-O2-O3-Ofast...】C/C++编译器代码优化原理方案
- Fil真的要归零了吗?
- java食堂外卖系统,校园食堂外卖订餐系统
热门文章
- HDOJ1016 素数环(DFS)
- 【正一专栏】第1球和第500球价值一样
- (转载)机器学习知识点(十四)EM算法原理
- Leetcode 88. 合并两个有序数组 解题思路及C++实现
- Leetcode 146. LRU缓存机制 解题思路及C++实现
- git 裁切_图片居中裁切.html
- python 开发gui浏览器_Python编程之gui程序实现简单文件浏览器代码
- Create an Apex class that returns contacts based on incoming parameters
- 什么是Vue.js?||为什么要学习流行框架||框架和库的区别?||MVC和MVVM的关系图解
- addActionListener(this)