题意:

有n只鸡,开始都活着。要按时间吃m次鸡,每次选两只,若两只都活着则随便吃一个,若只有一只活着就吃活的那个,如果死光了就不吃。问最后可能有多少对鸡同时存活(不考虑顺序)

$2\leq n\leq 400$

$1\leq m\leq 10^5$

题解:

妙啊思博题。考虑一直鸡$x$,如果要活下来那么在最后一次二选一的时候另外一只鸡也要活着,倒数第二次的时候另外那只鸡也要活着……即按照时间倒过来,另外的一些鸡必须要活着,$x$才能活下来,设这些必须活下来的鸡为$x$的存活集合。那么两只鸡同时存活下来的条件就是当且仅当两只鸡都有可能存活且相互之间的存活集合没有交集,否则必定有一只被吃。

直接暴力维护存活集合,时间复杂度$O(n^3+nm)$,不知道为什么跑的飞快

代码:

 1 #include<iostream>
 2 #include<cstring>
 3 #include<cstdio>
 4 #include<cmath>
 5 using namespace std;
 6 int n,m,ans=0,a[100001],b[100001];
 7 bool ok[1001],st[1001][1001];
 8 int main(){
 9     scanf("%d%d",&n,&m);
10     for(int i=1;i<=m;i++){
11         scanf("%d%d",&a[i],&b[i]);
12     }
13     for(int i=1;i<=n;i++){
14         st[i][i]=1;
15         for(int j=m;j;j--){
16             int x=st[i][a[j]],y=st[i][b[j]];
17             if(x&&y){
18                 ok[i]=true;
19                 break;
20             }else{
21                 if(x)st[i][b[j]]=1;
22                 if(y)st[i][a[j]]=1;
23             }
24         }
25     }
26     for(int i=1;i<n;i++){
27         if(ok[i])continue;
28         for(int j=i+1;j<=n;j++){
29             if(ok[j])continue;
30             int tmp=1;
31             for(int k=1;k<=n;k++){
32                 if(st[i][k]&&st[j][k]){
33                     tmp=0;
34                     break;
35                 }
36             }
37             ans+=tmp;
38         }
39     }
40     printf("%d",ans);
41     return 0;
42 }

转载于:https://www.cnblogs.com/dcdcbigbig/p/9537686.html

[agc016e]poor turkeys相关推荐

  1. 2017国家集训队作业[agc016e]Poor Turkey

    2017国家集训队作业[agc016e]Poor Turkey 题意: 一开始有\(N\)只鸡是活着的,有\(M\)个时刻,每个时刻有两个数\(X_i,Y_i\),表示在第\(i\)个时刻在\(X_i ...

  2. LeetCode 458. Poor Pigs--智力题「小白鼠试毒」--C++,Python解法

    题目地址:Poor Pigs - LeetCode There are 1000 buckets, one and only one of them is poisonous, while the r ...

  3. 关于过拟合、局部最小值、以及Poor Generalization的思考

    Poor Generalization 这可能是实际中遇到的最多问题. 比如FC网络为什么效果比CNN差那么多啊,是不是陷入局部最小值啊?是不是过拟合啊?是不是欠拟合啊? 在操场跑步的时候,又从SVM ...

  4. Poor Man's BERT: 更小更快的Transformer模型

    文 | sliderSun 源 | 知乎 NLP模型的大小不断增加,随之而来的是可用性降低,TinyBERT,MobileBERT,和DistilBERT都提出了一个独特的知识蒸馏框架,其共同目标是在 ...

  5. Poor God Water【矩阵快速幂】

    Poor God Water 时间限制: 1 Sec 内存限制: 128 MB 提交: 102 解决: 50 [提交] [状态] [命题人:admin] 题目描述 God Water likes to ...

  6. #读书笔记#《富爸爸窮爸爸》 | Rich Dad Poor Dad 罗伯特.清崎 Robert Kiyosaki

    <士兵突击>里面袁朗说:"有很多人天天都在焦虑,怕没得到,怕寂寞,我喜欢不焦虑的人". 有很多人天天都在焦虑. 那么,为什么大城市的年轻人明明拥有更前沿的信息和更多的资 ...

  7. 穷爸爸 富爸爸(Rich dad , Poor dad ) 读书笔记(第一课lesson 1)

    1. 穷人为钱工作,富有的人让钱为自己工作 2. 走出你的舒适区,用大的格局图景去思考 3. 穷人是在用情绪思考,被情绪(恐惧,对金钱的无知)支配,而富有的人撇开情绪用头脑思考 穷人被恐惧与欲望所支配 ...

  8. 英读廊——艺术家、穷人和音乐家之10美元的奇异之旅(The Artist, the Poor Man, and the Musician)

    * 用英语自身来理解和学习英语是最好的方式,这一系列的文章力求帮助大家在英语阅读能力上有所提升,并树立英语思维: * 推荐的阅读的方法是:先原文,适当看解析阅读,实在不行再看双语对照. * 解析中英语 ...

  9. 英语练习32 Poor Amy

    可怜的艾米 艾米这个月的房租付不出来.她需要一些帮助.不幸的是, 她的朋友没有一个能帮助她.他们也没钱.可怜的艾米真地很沮 丧.她没钱,而房东这时正在敲门.艾米很紧张.她叫道:"没 入在家! ...

最新文章

  1. ashx session 使用注意要点。
  2. FTP匿名登录或弱口令漏洞及服务加固
  3. 企业千人千面管理模式_零售企业该如何打造“千人千面”的差异化营销?
  4. php mysql 开发微博_3款php+mysql国产微博程序推荐
  5. 干货 | 你真的了解 Convolutional Neural Networks 么
  6. UltraEdit 使用操作
  7. 没有眼睛的街头卖艺人
  8. python送心小人_使用Python画出小人发射爱心的代码
  9. Kubernetes探针踩坑记
  10. 【每日一题】8月27日题目精讲 Is It A Tree?
  11. Android组件化方案及组件消息总线modular-event实战
  12. 罗振宇2021跨年演讲2:除了规模中国还有什么优势?
  13. 关键时刻卡成狗,测网速要成上网必备动作了?
  14. 【LeetCode】【数组】题号:*283,移动零
  15. python实现局域网文件互传_Python+pyftpdlib实现局域网文件互传
  16. 摩托车高级驾驶员辅助系统(ADAS)的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  17. 华为Mate 20 Pro更新EMUI9.1系统,系统流畅度稳步提高
  18. 华为2019算法大赛CTR预估数据探索
  19. 深入 AXI4总线 (四):RAM 读取实战
  20. 浅析基于二维轮廓线重构表面算法

热门文章

  1. 上传图片动态预览(兼容主流浏览器)
  2. 关于 HeartBleed 安全漏洞的 2 张漫画
  3. 深度 | 人工智能全局概览:通用智能的当前困境和未来可能
  4. RedHat 6 安装配置Tomcat 7
  5. PROC系列之/proc/stat/
  6. 免费迅雷会员VIP帐号获取器 – 迅雷离线下免费用
  7. C语言程序设计的常用算法
  8. bank holiday in uk 2020
  9. multi agent system university of liverpool professional presentation
  10. 我的MAXSCRIPT笔记