AGC016E Poor Turkeys
题意简述:有\(N(2<=N<=400)\)只火鸡, 编号为1到N , 有\(M(1<=M<=10^5)\)个人, 每人指定了两只火鸡\((x,y)\):
1.若\(x,y\)都活着, 那么这个人将会等概率地随机吃掉一只
2.若\(x,y\)恰好活着一只, 那么这个人将会吃掉活着的这只
3.若\(x,y\)都已经死亡, 那么只好什么都不做
求有多少个\((i,j)(1<=i<j<=N)\)满足在最终时刻第\(i\)只火鸡和第\(j\)只火鸡都还活着
又是一道比较巧妙的题。
我们可以考虑反着来考虑,假设在当前时刻要使第\(i\)只鸡活着应该怎么办。那我们考虑要使这只鸡活着,一定会杀掉别的鸡,那么我们对于每只鸡记录一个集合,表示要使\(i\)活着,要杀的鸡有哪些。然后如果存在一个人要杀的鸡已经被杀完了或只剩\(i\),那么第\(i\)只鸡必死,因为每只鸡只能杀一次,我们又是从后往前考虑,那么在原序列中后面的就无法替\(i\)去死就先被杀了。
最后因为一只鸡不能死两次,我们再对所有的能活下来的鸡进行集合判交就可以啦。
#include<cstdio>
#include<bitset>
using namespace std;
const int N=410,M=1e5+10;
int n,m,ans;
int x[M],y[M],die[N];
bitset<N> s[N];
int main(){scanf("%d%d",&n,&m);for(int i=1;i<=m;i++)scanf("%d%d",&x[i],&y[i]);for(int i=1;i<=n;i++){s[i][i]=1;for(int j=m;j;j--)if(s[i][x[j]]&&s[i][y[j]]){die[i]=1;break;}else if(s[i][x[j]])s[i][y[j]]=1;else if(s[i][y[j]])s[i][x[j]]=1;}for(int i=1;i<=n;i++)if(!die[i])for(int j=i+1;j<=n;j++)if(!die[j]&&(s[i]&s[j]).none())++ans;printf("%d\n",ans);
}
转载于:https://www.cnblogs.com/yxc2003/p/10747233.html
AGC016E Poor Turkeys相关推荐
- [agc016e]poor turkeys
题意: 有n只鸡,开始都活着.要按时间吃m次鸡,每次选两只,若两只都活着则随便吃一个,若只有一只活着就吃活的那个,如果死光了就不吃.问最后可能有多少对鸡同时存活(不考虑顺序) $2\leq n\leq ...
- 2017国家集训队作业[agc016e]Poor Turkey
2017国家集训队作业[agc016e]Poor Turkey 题意: 一开始有\(N\)只鸡是活着的,有\(M\)个时刻,每个时刻有两个数\(X_i,Y_i\),表示在第\(i\)个时刻在\(X_i ...
- LeetCode 458. Poor Pigs--智力题「小白鼠试毒」--C++,Python解法
题目地址:Poor Pigs - LeetCode There are 1000 buckets, one and only one of them is poisonous, while the r ...
- 关于过拟合、局部最小值、以及Poor Generalization的思考
Poor Generalization 这可能是实际中遇到的最多问题. 比如FC网络为什么效果比CNN差那么多啊,是不是陷入局部最小值啊?是不是过拟合啊?是不是欠拟合啊? 在操场跑步的时候,又从SVM ...
- Poor Man's BERT: 更小更快的Transformer模型
文 | sliderSun 源 | 知乎 NLP模型的大小不断增加,随之而来的是可用性降低,TinyBERT,MobileBERT,和DistilBERT都提出了一个独特的知识蒸馏框架,其共同目标是在 ...
- Poor God Water【矩阵快速幂】
Poor God Water 时间限制: 1 Sec 内存限制: 128 MB 提交: 102 解决: 50 [提交] [状态] [命题人:admin] 题目描述 God Water likes to ...
- #读书笔记#《富爸爸窮爸爸》 | Rich Dad Poor Dad 罗伯特.清崎 Robert Kiyosaki
<士兵突击>里面袁朗说:"有很多人天天都在焦虑,怕没得到,怕寂寞,我喜欢不焦虑的人". 有很多人天天都在焦虑. 那么,为什么大城市的年轻人明明拥有更前沿的信息和更多的资 ...
- 穷爸爸 富爸爸(Rich dad , Poor dad ) 读书笔记(第一课lesson 1)
1. 穷人为钱工作,富有的人让钱为自己工作 2. 走出你的舒适区,用大的格局图景去思考 3. 穷人是在用情绪思考,被情绪(恐惧,对金钱的无知)支配,而富有的人撇开情绪用头脑思考 穷人被恐惧与欲望所支配 ...
- 英读廊——艺术家、穷人和音乐家之10美元的奇异之旅(The Artist, the Poor Man, and the Musician)
* 用英语自身来理解和学习英语是最好的方式,这一系列的文章力求帮助大家在英语阅读能力上有所提升,并树立英语思维: * 推荐的阅读的方法是:先原文,适当看解析阅读,实在不行再看双语对照. * 解析中英语 ...
- 英语练习32 Poor Amy
可怜的艾米 艾米这个月的房租付不出来.她需要一些帮助.不幸的是, 她的朋友没有一个能帮助她.他们也没钱.可怜的艾米真地很沮 丧.她没钱,而房东这时正在敲门.艾米很紧张.她叫道:"没 入在家! ...
最新文章
- 编写优质代码的 6 大关键方法
- Visual C++ dll
- 原生态纯JavaScript 100大技巧大收集---你值得拥有
- node.js HelloWord
- 带有骆驼,ActiveMQ,Elasticsearch的HL7关键用例
- php编写大型网站问题集
- C# 根据文本设置combobox的两种方法
- 单纯学python能干啥_如何高效学习Python编程,转行的朋友可以过来看看,单纯的经验分享...
- shp数据制作3DTiles白膜
- 流畅接口(Fluent Interface)
- 全球首发!惯性导航导论(剑桥大学)第三部分
- 通过PowerShell管理Office 365的网站
- 基于PHP学生成绩查询系统设计与实现 开题报告
- BP神经网络学习及matlab实现
- [转载]Node.js模块化机制原理探究
- 匈牙利算法解指派问题(Java代码)
- 4444445555
- HockeyApp环境搭建
- 用python用打印机打印EXCEL表格
- html5在线俄罗斯方块,HTML5最新经典俄罗斯方块游戏插件