上午切了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切题总结相关推荐

  1. Xamarin 2017.9.19更新

     Xamarin 2017.9.19更新 本次更新是添加Xamarin.iOS对iOS 11和Xcode 9的支持.Visual Studio 2017升级到15.3.5获得更新功能.Visual S ...

  2. 2017第19届中西部光电与智能制造博览会-重庆光博会

    2017第19届中西部光电与智能制造博览会-重庆光博会 时间:2017年8月3-5日 地点:重庆国际会议展览会中心 同期举办: ◆2017激光加工.智能制造及工业大数据论坛 ◆2017中国(重庆)LE ...

  3. 2017无盘服务器,(2017.11.19)云更新2017正式版2017.6.15.6596无盘xp-win7x32-x64-win10x64公包...

    重要更新: 一.重点功能更新 1.三层更新核心组件升级,降低80%的游戏更新量 : 2.新增显卡PNP功能 (新环境部署更简单): 3.同时支持中英双语言环境 (更高Bigger): 4.优化万兆环境 ...

  4. 2017第19届济南国际数控机床展览会会刊(参展商名录)

    2017第19届济南国际数控机床展览会会刊(参展商名录) 展会名称: 2017第19届济南国际数控机床展览会 所属展馆: 济南国际会展中心 开展时间: 2017-09-19 至 09-21 参展商名录 ...

  5. 2017.10.19 測試總結并今日總結

    50/300,越來越有趣- –>個人排名- –>恰似北斗七星,連環曲折- 此真乃:天回北斗掛西樓,掛完Day1掛Day2 金屋无人萤火流. 說說題目: T1:邊界沒有想清楚,多打了-(什麽 ...

  6. 天下手游服务器维护需要多久,《天下》手游维护更新公告(2017.01.19)

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 1.[贺新春•迎新春舞会] 活动时间:2017年1月19日更新后-1月25日,19:00.20:00和22:00,每场持续30分钟 领取等级:30级及以上 ...

  7. 2017.04.19 有趣的木楔原理图

    古代木工不需要钉子的秘密,一张张动图告诉你! 我们的祖先真的很牛! ▍榫卯,是古典家具之魂,一榫一卯之间,一转一折之际,凝结着中国几千年传统家具文化的精粹,沉淀着流光回转中的经典家具款式的复合传承. ...

  8. 2017.05.19随笔

    在随笔的开始,我便想说,悲剧啊. 好的,今天是我高一的倒数第二个月,去年12月考了NOIP,今年4月份又参加了CQOI2017,因为NOIP考炸了,于是我以第12名无缘省队,在5月的清北体验营中,我又 ...

  9. jzoj C组 2017.1.19 比赛

    第一题--小x的游戏 题目描述 Tac游戏在一个4*4的方格上进行.起先可能会在16个方格中出现一个标记'T',其余的方格是空着的.游戏有两个玩家,小x和小o.小x先开始,然后游戏轮流进行.每一步玩家 ...

最新文章

  1. 画原型时需要注意什么?
  2. 汇编(8086cpu): ip寄存器与指令的关系
  3. JAVA如何在画板加分数_自学了java一段时间,做了个最低配的画板
  4. 中国再生金属行业发展前景及投资策略研究报告2021版
  5. 微软欲2012年拿下智能手机系统四成市场
  6. nginx负载均衡与反向代理
  7. 【自适应盲均衡3】多模算法(MMA)——复数改进常模算法(MCMA)的理论推导与MATLAB仿真
  8. vmware安装centos问题
  9. buck变换器设计matlab_在数字控制系统中实现LLC变换器的电流模式控制的思考
  10. 【数据结构_浙江大学MOOC】第六七八讲 图
  11. java接口测试工具_接口模拟测试利器,moco server工具的介绍
  12. iOS 录音及播放 音波图波形
  13. 如何用计算机画地形地貌图,基本地形图计算软件(图号计算器)V2.1 最新版
  14. 鸿蒙电脑系统连不上打印机,电脑与打印机脱机怎么连接
  15. 学习计划大纲(大一)
  16. 网盘背后的秘密(稍作修改)
  17. 小红书的浏览量很低是为什么?有什么提高的方法吗?
  18. 【-O1-O2-O3-Ofast...】C/C++编译器代码优化原理方案
  19. Fil真的要归零了吗?
  20. java食堂外卖系统,校园食堂外卖订餐系统

热门文章

  1. HDOJ1016 素数环(DFS)
  2. 【正一专栏】第1球和第500球价值一样
  3. (转载)机器学习知识点(十四)EM算法原理
  4. Leetcode 88. 合并两个有序数组 解题思路及C++实现
  5. Leetcode 146. LRU缓存机制 解题思路及C++实现
  6. git 裁切_图片居中裁切.html
  7. python 开发gui浏览器_Python编程之gui程序实现简单文件浏览器代码
  8. Create an Apex class that returns contacts based on incoming parameters
  9. 什么是Vue.js?||为什么要学习流行框架||框架和库的区别?||MVC和MVVM的关系图解
  10. addActionListener(this)