日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

bzoj 1124 [POI2008]枪战Maf 贪心

發布時間:2023/12/2 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 bzoj 1124 [POI2008]枪战Maf 贪心 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?[POI2008]槍戰Maf

Time Limit:?10 Sec??Memory Limit:?162 MB
Submit:?741??Solved:?295
[Submit][Status][Discuss]

Description

有n個人,每個人手里有一把手槍。一開始所有人都選定一個人瞄準(有可能瞄準自己)。然后他們按某個順序開槍,且任意時刻只有一個人開槍。因此,對于不同的開槍順序,最后死的人也不同。

Input

輸入n人數<1000000 每個人的aim

Output

你要求最后死亡數目的最小和最大可能

Sample Input

8
2 3 2 2 6 7 8 5

Sample Output

3 5

HINT

?

?

1 #include <queue> 2 #include <cstdio> 3 #include <cstring> 4 #include <iostream> 5 #include <algorithm> 6 #define N 1000100 7 using namespace std; 8 int n,cnt; 9 int a[N]; 10 int du[N]; 11 int head[N]; 12 int vis[N]; 13 int v[N]; 14 int fir[N]; 15 struct node 16 { 17 int from,to,next; 18 }edge[N<<1]; 19 int belong[N]; 20 int cnt_du[N]; 21 int siz[N]; 22 int tot; 23 void init() 24 { 25 memset(head,-1,sizeof(head)); 26 cnt=1; 27 } 28 void edgeadd(int from,int to) 29 { 30 edge[cnt].from=from,edge[cnt].to=to,edge[cnt].next=head[from]; 31 head[from]=cnt++; 32 } 33 void dfs(int now,int ff) 34 { 35 vis[now]=1,belong[now]=tot,siz[tot]++; 36 for(int i=head[now];i!=-1;i=edge[i].next) 37 { 38 int to=edge[i].to; 39 if(to==now||to==ff||vis[to])continue; 40 dfs(to,now); 41 } 42 } 43 int check(int now,int num) 44 { 45 v[now]=1; 46 int t=now,cntt=1; 47 while(!v[a[t]]) 48 { 49 v[a[t]]=1; 50 t=a[t]; 51 cntt++; 52 } 53 t=a[t]; 54 if(t==now&&cntt==num)return 1; 55 return 0; 56 } 57 int main() 58 { 59 init(); 60 scanf("%d",&n); 61 for(int i=1;i<=n;i++) 62 { 63 scanf("%d",&a[i]); 64 du[a[i]]++; 65 edgeadd(i,a[i]); 66 edgeadd(a[i],i); 67 } 68 for(int i=1;i<=n;i++) 69 { 70 if(!vis[i]) 71 tot++,dfs(i,0),fir[tot]=i; 72 } 73 for(int i=1;i<=n;i++) 74 { 75 if(du[i]==0)cnt_du[belong[i]]++; 76 } 77 int ansma=0,ansmi=0; 78 for(int i=1;i<=tot;i++) 79 { 80 if(siz[i]==1)ansma++; 81 if(check(fir[i],siz[i])) 82 ansma+=siz[i]-1; 83 else ansma+=siz[i]-cnt_du[i]; 84 } 85 memset(v,0,sizeof(v)); 86 memset(vis,0,sizeof(vis)); 87 queue<int>q; 88 for(int i=1;i<=n;i++) 89 { 90 if(!du[i]) 91 q.push(i); 92 } 93 while(!q.empty()) 94 { 95 int u=q.front(); 96 q.pop(); 97 v[u]=1; 98 if(!vis[a[u]]) 99 { 100 v[a[u]]=vis[a[u]]=1,ansmi++; 101 du[a[a[u]]]--; 102 if(!du[a[a[u]]]) 103 q.push(a[a[u]]); 104 } 105 } 106 for(int i=1;i<=n;i++) 107 { 108 if(!v[i]) 109 { 110 int t=i,cnt=0; 111 while(!v[t]) 112 { 113 v[t]=1; 114 cnt++; 115 t=a[t]; 116 } 117 ansmi+=(cnt+1)/2; 118 } 119 } 120 printf("%d %d\n",ansmi,ansma); 121 }

?

?

?

轉載于:https://www.cnblogs.com/fengzhiyuan/p/8682172.html

總結

以上是生活随笔為你收集整理的bzoj 1124 [POI2008]枪战Maf 贪心的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 精品国产鲁一鲁一区二区三区 | 特级西西人体444www高清大胆 | xxxxx18日本| 亚洲av无码一区二区二三区 | 欧美黑粗硬| mm1313亚洲国产精品美女 | 69视频在线观看 | 不卡视频在线观看免费 | 欧美日韩国产综合在线 | 欧美丰满一区二区免费视频 | 一本色道久久综合 | 欧美成人精品一区二区 | 96精品视频在线观看 | 人人澡超碰碰97碰碰碰 | 成人1区 | 吊视频一区二区三区 | 好吊妞视频一区二区三区 | 国产偷自拍 | 国产在线伊人 | 高清一区二区三区四区 | 尤物国产 | 乌克兰黄色片 | 亚洲图片一区二区三区 | 与子敌伦刺激对白播放的优点 | 亚洲第一视频在线观看 | 日本少妇性高潮 | 波多野结衣一二三四区 | 成年人网站在线观看视频 | 99久久影院 | 老外一级片 | 香蕉国产在线 | 综合精品| 国产又黄又猛又粗又爽 | 国产一区二区三区四区五区在线 | 久草资源在线观看 | 国产精品国产三级国产Av车上的 | 国产成人在线一区 | 亚洲二级片 | 免费色av | 啪啪一区二区 | 顶级黑人搡bbw搡bbbb搡 | 成人短视频在线观看 | 少妇野外性xx老女人野外性xx | 快射视频网站 | 人人搞人人爱 | 国产又粗又猛又爽又黄的视频一 | 午夜一区| 4438五月天 | 亚洲精品www久久久久久广东 | 91婷婷射| 五月婷婷六月香 | 亚洲成人中文字幕在线 | 中国农村一级片 | 国产一级一区二区 | 日韩黄色免费看 | 国产精品亚洲自拍 | 91香蕉一区二区三区在线观看 | 亚洲伦理久久 | 久久精精品久久久久噜噜 | 桃色在线视频 | 国产一区二区三区免费 | 丁香六月五月婷婷 | 高清在线一区 | 一极毛片 | 国产在线观看a | 日本老熟妇毛茸茸 | 欧美偷拍少妇精品一区 | 国产一区在线视频观看 | 国产一区二区三区在线播放无 | 相亲对象是问题学生动漫免费观看 | 91资源在线播放 | 黄色大片免费在线观看 | 国产欧美一区二区精品性色99 | 国产精选毛片 | 一级二级在线观看 | 欧美成人自拍 | 丰满岳乱妇一区二区三区 | 色老板精品凹凸在线视频观看 | 好吊操妞| 婷婷伊人 | 成人日皮视频 | 18视频在线观看男男 | 翔田千里88av中文字幕 | 少妇第一次交换又紧又爽 | 中文字幕欧美视频 | 香蕉中文网 | 日剧再来一次第十集 | 色综网| 男女在线视频 | 亚洲av无码一区二区三区观看 | 亚洲情热 | 涩涩涩涩涩涩涩涩涩 | 韩国三级免费 | 羞羞的视频网站 | 国产成人久久精品 | 少妇粉嫩小泬白浆流出 | 欧美成年人在线视频 | 国产二级一片内射视频播放 | 欧美中文一区 |