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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

计蒜客NOIP2017提高组模拟赛(四)day1

發(fā)布時間:2025/3/15 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 计蒜客NOIP2017提高组模拟赛(四)day1 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

T1:小X的質(zhì)數(shù)

小 X 是一位熱愛數(shù)學的男孩子,在茫茫的數(shù)字中,他對質(zhì)數(shù)更有一種獨特的情感。小 X 認為,質(zhì)數(shù)是一切自然數(shù)起源的地方。

在小 X 的認知里,質(zhì)數(shù)是除了本身和 1 以外,沒有其他因數(shù)的數(shù)字。

但由于小 X 對質(zhì)數(shù)的熱愛超乎尋常,所以小 X 同樣喜歡那些雖然不是質(zhì)數(shù),但卻是由兩個質(zhì)數(shù)相乘得來的數(shù)。

于是,我們定義,一個數(shù)是小 X 喜歡的數(shù),當且僅當其是一個質(zhì)數(shù),或是兩個質(zhì)數(shù)的乘積。

而現(xiàn)在,小 X 想要知道,在 L 到 R 之間,有多少數(shù)是他喜歡的數(shù)呢?

輸入格式

第一行輸入一個正整數(shù) Q,表示詢問的組數(shù)。

接下來 Q行。包含兩個正整數(shù) L 和 R。保證 L≤R。

輸出格式

輸出 Q 行,每行一個整數(shù),表示小 X 喜歡的數(shù)的個數(shù)。

數(shù)據(jù)范圍與約定

樣例解釋 1

666 以內(nèi)的質(zhì)數(shù)有 2,3,5,而 4=2?2,6=2?3。因此 2,3,4,5,6 都是小 X 喜 歡的數(shù),而 1 不是。

樣例輸入1

1 1 6

樣例輸出1

5

樣例輸入2

10 282 491 31 178 645 856 227 367 267 487 474 697 219 468 582 792 315 612 249 307

樣例輸出2

97 78 92 65 102 98 114 90 133 29

樣例輸入3

10 20513 96703 15236 86198 23185 78205 40687 48854 42390 95450 63915 76000 36793 92543 35347 53901 44188 76922 82177 90900

樣例輸出3

24413 23001 17784 2669 16785 3833 17712 6028 10442 2734

T2:小X的密室

小 X 正困在一個密室里,他希望盡快逃出密室。

密室中有 N 個房間,初始時,小 X 在 1 號房間,而出口在 N 號房間。

密室的每一個房間中可能有著一些鑰匙和一些傳送門,一個傳送門會單向地創(chuàng)造一條從房間 X 到房間 Y 的通道。另外,想要通過某個傳送門,就必須具備一些種類的鑰匙(每種鑰匙都要有才能通過)。幸運的是,鑰匙在打開傳送門的封印后,并不會消失。

然而,通過密室的傳送門需要耗費大量的時間,因此,小 X 希望通過盡可能少的傳送門到達出口,你能告訴小 X 這個數(shù)值嗎?

另外,小 X 有可能不能逃出這個密室,如果是這樣,請輸出 "No Solution"。

輸入格式

第一行三個整數(shù) N,M,K,分別表示房間的數(shù)量、傳送門的數(shù)量以及鑰匙的種類數(shù)。

接下來 N 行,每行 K01,若第 iii 個數(shù)為 1,則表示該房間內(nèi)有第 iii 種鑰匙,若第 iii 個數(shù)為 0,則表示該房間內(nèi)沒有第 iii 種鑰匙。

接下來 M 行,每行先讀入兩個整數(shù) X,Y,表示該傳送門是建立在 X 號房間,通向 Y 號房間的,再讀入 K01,若第 iii 個數(shù)為 1,則表示通過該傳送門需要 iii 種鑰匙,若第 iii 個數(shù)為0,則表示通過該傳送門不需要第 iii 種鑰匙。

輸出格式

輸出一行一個 "No Solution",或一個整數(shù),表示最少通過的傳送門數(shù)。

數(shù)據(jù)規(guī)模與約定

更多測試樣例

輸入樣例 4

輸出樣例 4

樣例輸入1

3 3 2 1 0 0 1 0 0 1 3 1 1 1 2 1 0 2 3 1 1

樣例輸出1

2

樣例輸入2

20 40 0 10 18 18 14 19 13 4 14 13 10 5 18 14 1 13 13 10 16 19 11 11 15 10 18 5 8 12 19 7 8 18 6 14 5 9 5 2 17 13 14 18 15 8 18 7 1 13 5 4 6 17 4 1 4 10 10 13 8 19 2 4 9 3 3 5 10 17 5 12 8 19 11 3 16 17 10 18 16 13 13

樣例輸出2

No Solution

樣例輸入3

20 50 0 8 10 7 17 5 11 14 20 20 16 8 19 12 11 18 7 17 5 4 15 16 11 11 8 10 12 8 9 16 8 3 16 1 6 3 20 6 10 11 12 6 8 18 17 14 17 3 11 4 19 9 2 8 6 13 2 5 2 12 19 8 10 14 7 6 12 6 4 13 2 8 7 13 19 17 9 3 14 18 20 2 14 4 17 20 15 14 15 2 15 7 20 12 12 18 10 15 9 15 9

樣例輸出3

4 T3:小X的佛光

小 X 是遠近聞名的學佛,平日里最喜歡做的事就是蒸發(fā)學水。

小 X 所在的城市 X 城是一個含有 N 個節(jié)點的無向圖,同時,由于 X 國是一個發(fā)展中國家,為了節(jié)約城市建設的經(jīng)費,X 國首相在建造 X 城時只建造 N – 1 條邊,使得城市的各個地點能夠相互到達。

小 X 計劃蒸發(fā) Q 天的學水,每一天會有一名學水從 A 地走到 B 地,并在沿途各個地點留下一個水塘。此后,小 X 會從 C 地走到 B 地,并用佛光蒸發(fā)沿途的水塘。由于 X 城是一個學佛橫行的城市,學水留下的水塘即使沒有被小 X 蒸發(fā),也會在第二天之前被其他學佛蒸發(fā)殆盡。

現(xiàn)在,小 X 想要知道,他每一天能夠蒸發(fā)多少水塘呢?

輸入格式

第一行三個整數(shù) N,Q,num,分別表示 X 城地點的個數(shù),小 X 蒸發(fā)學水的天數(shù),以及測試點編號。注意,測試點編號是為了讓選手們更方便的獲得部分分,你可能不需要用到這則信息,在下發(fā)的樣例中,測試點編號的含義是該樣例滿足某一測試點限制。

接下來 N – 1 行,每行兩個整數(shù) X,Y,表示 X 地與 Y 地之間有一條邊。

接下來 Q 行,每行三個整數(shù) A,B,C,表示一天中,有一名學水從 A 地走到 B 地,而小 X 會從 C 地走到 B 地。

輸出格式

輸出 Q 行,每行一個整數(shù),表示小 X 能夠蒸發(fā)的水塘數(shù)。

數(shù)據(jù)規(guī)模與約定

特殊性質(zhì) 1:第 i 條邊連接第 i 和第 i+1個地點。

特殊性質(zhì) 2A=C

更多測試樣例

樣例輸入 2

樣例輸出 2

樣例輸入 3

樣例輸出 3

樣例輸入 4

樣例輸出 4

樣例輸入

3 3 1 1 2 2 3 1 2 3 1 1 3 3 1 3

樣例輸出

1 1 3

T1:
將線性篩數(shù)變形即可
可見線性篩數(shù)既可以篩質(zhì)數(shù),也可以順便判斷質(zhì)數(shù)的一些情況

1 #include<cstdio> 2 #include<cstdlib> 3 #include<algorithm> 4 #include<cstring> 5 #define MAXN 10000001 6 using namespace std; 7 int prime[MAXN],cnt; 8 bool b[MAXN]; 9 bool c[MAXN]; 10 int f[MAXN]; 11 int main() 12 { 13 // freopen("data.in","r",stdin); 14 b[1]=1; 15 for(int i=2;i<MAXN;i++){ 16 if(!b[i]){ 17 prime[++cnt]=i; 18 } 19 for(int j=1;j<=cnt&&i*prime[j]<MAXN;j++){ 20 b[i*prime[j]]=1; 21 c[i*prime[j]]+=(!b[i]); 22 if(i%prime[j]==0){ 23 break; 24 } 25 } 26 } 27 for(int i=1;i<MAXN;i++){ 28 f[i]=f[i-1]; 29 if(!b[i]||c[i]){ 30 f[i]++; 31 } 32 } 33 int Q; 34 scanf("%d",&Q); 35 for(int i=1;i<=Q;i++){ 36 int L,R; 37 scanf("%d%d",&L,&R); 38 printf("%d\n",f[R]-f[L-1]); 39 } 40 return 0; 41 } Code1

T2:

由于每條邊的邊權都是1,寬搜即可

鑰匙用二進制存貯,然后可以預處理下子集即可高效判斷

1 #include<cstdio> 2 #include<cstdlib> 3 #include<algorithm> 4 #include<cstring> 5 #include<vector> 6 #define MAXN 5005 7 #define MAXM 6005 8 #define INF 0x7f7f7f7f 9 using namespace std; 10 int qL[11000005],qK[11000005],L=1,R; 11 int d[MAXN][2050]; 12 int n,m,k; 13 int key_room[MAXN]; 14 int first[MAXN],Next[MAXM],to[MAXM],w[MAXM],cnt; 15 //single edge 16 int bel[2050][2050]; 17 void Add(int x,int y,int key){ 18 Next[++cnt]=first[x];first[x]=cnt;to[cnt]=y;w[cnt]=key; 19 } 20 void bfs(){ 21 memset(d,0x7f,sizeof(d)); 22 qL[++R]=1; 23 qK[R]=key_room[1]; 24 d[qL[R]][qK[R]]=0; 25 while(L<=R){ 26 int p=qL[L],key=qK[L];L++; 27 int D=d[p][key]; 28 for(int i=first[p];i;i=Next[i]){ 29 int j=to[i]; 30 if(!bel[key][w[i]]) continue; 31 int dk=(key|key_room[j]); 32 if(d[j][dk]>D+1){ 33 d[j][dk]=D+1; 34 qL[++R]=j; 35 qK[R]=dk; 36 if(n==j){ 37 printf("%d\n",d[j][dk]); 38 return ; 39 } 40 } 41 } 42 } 43 printf("No Solution\n"); 44 } 45 int main() 46 { 47 // freopen("data.in","r",stdin); 48 scanf("%d%d%d",&n,&m,&k); 49 for(int i=1;i<=n;i++){ 50 for(int j=0;j<k;j++){ 51 int c; 52 scanf("%d",&c); 53 key_room[i]+=(c<<j); 54 } 55 } 56 for(int i=1;i<=m;i++){ 57 int x=0,y=0,need=0; 58 scanf("%d%d",&x,&y); 59 for(int j=0;j<k;j++){ 60 int c; 61 scanf("%d",&c); 62 need+=(c<<j); 63 } 64 Add(x,y,need); 65 } 66 bel[0][0]=1; 67 for(int i=1;i<(1<<k);i++){ 68 for(int j=i;;j=i&j){ 69 bel[i][j]=1; 70 j--; 71 if(j<0){ 72 break; 73 } 74 } 75 } 76 bfs(); 77 return 0; 78 } Code2

T3:

裸LCA

注意下分類討論

1 #include<cstdio> 2 #include<cstdlib> 3 #include<algorithm> 4 #include<cstring> 5 #define MAXN 200005 6 #define LOG 21 7 using namespace std; 8 int n,num; 9 int first[MAXN],Next[MAXN*2],to[MAXN*2],cnt; 10 int dep[MAXN]; 11 int fa[LOG][MAXN]; 12 //double edge 13 void Add(int x,int y){ 14 Next[++cnt]=first[x];first[x]=cnt;to[cnt]=y; 15 Next[++cnt]=first[y];first[y]=cnt;to[cnt]=x; 16 } 17 void dfs(int x){ 18 for(int e=first[x];e;e=Next[e]){ 19 int y=to[e]; 20 if(y==fa[0][x]){ 21 continue; 22 } 23 fa[0][y]=x; 24 dep[y]=dep[x]+1; 25 dfs(y); 26 } 27 } 28 int lca(int x,int y){ 29 if(dep[x]<dep[y]){ 30 swap(x,y); 31 } 32 for(int i=dep[x]-dep[y],p=0;i;i>>=1,p++){ 33 if(i&1){ 34 x=fa[p][x]; 35 } 36 } 37 if(x==y){ 38 return x; 39 } 40 for(int k=LOG-1;k>=0;k--){ 41 if(fa[k][x]!=fa[k][y]){ 42 x=fa[k][x]; 43 y=fa[k][y]; 44 } 45 } 46 return fa[0][x]; 47 } 48 int dist(int x,int y){ 49 int LCA=lca(x,y); 50 return dep[x]-dep[LCA]+dep[y]-dep[LCA]; 51 } 52 int main() 53 { 54 int T; 55 scanf("%d%d%d",&n,&T,&num); 56 for(int i=1;i<n;i++){ 57 int x,y; 58 scanf("%d%d",&x,&y); 59 Add(x,y); 60 } 61 dfs(1); 62 for(int k=1;k<LOG;k++){ 63 for(int i=1;i<=n;i++){ 64 fa[k][i]=fa[k-1][fa[k-1][i]]; 65 } 66 } 67 for(int i=1;i<=T;i++){ 68 int A,B,C; 69 scanf("%d%d%d",&A,&B,&C); 70 printf("%d\n",(dist(B,A)+dist(B,C)-dist(A,C))/2+1); 71 } 72 return 0; 73 } Code3

?

轉(zhuǎn)載于:https://www.cnblogs.com/w-h-h/p/7623588.html

總結(jié)

以上是生活随笔為你收集整理的计蒜客NOIP2017提高组模拟赛(四)day1的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产一级高清视频 | 国产九色91| 日本不卡一区在线观看 | www.国产.com| 456av| 污污污污污污www网站免费 | 高清国产午夜精品久久久久久 | av午夜激情| 91极品视觉盛宴 | 8050午夜二级 | 亚洲国产看片 | 特高潮videossexhd | 亚洲视频999 | 亚洲欧美日韩中文字幕在线观看 | 日韩欧美视频在线 | 国产啊啊啊啊 | 黑人巨大精品欧美一区免费视频 | 友田真希一区二区 | 麻豆久久久久久久久久 | 在线观看精品视频 | 国产一区二区不卡视频 | 国产又黄又粗又猛又爽 | 国语播放老妇呻吟对白 | 九九久久精品视频 | 少妇无套高潮一二三区 | 免费在线看黄色片 | 天天舔天天插 | 涩涩屋污 | 噜噜噜久久久 | 午夜黄网| 国产美女视频网站 | 欧美日韩你懂的 | 日本一区二区在线播放 | 粉嫩aⅴ一区二区三区四区五区 | 欧美在线观看视频一区 | 久久久片 | 理伦毛片 | 你懂的在线观看网站 | 91大神在线看 | 亚洲乱码中文字幕久久孕妇黑人 | 亚洲综合激情五月久久 | 国产嫩草av | 色就是色欧美色图 | 欧美vieox另类极品 | 国产精品18久久久 | av香蕉| 久久久久国产精品夜夜夜夜夜 | 性生交大片免费看视频 | 黄色免费网站在线 | 成人久久18免费网站图片 | 中文字幕一区av | 国产第一页视频 | 黄色永久免费网站 | 日批视频免费播放 | 黄色国产大片 | 美女写真福利视频 | 91小仙女jk白丝袜呻吟 | 超级碰在线视频 | 免费在线观看av网站 | 99999视频 | 性农村xxxxx小树林 | 亚洲精品高清在线观看 | 日日夜夜撸撸 | 黄色成人在线 | 69精品| 奇米777视频| 国内精品人妻无码久久久影院蜜桃 | 亚洲人性生活视频 | 日韩经典三级 | 欧美日韩精品在线播放 | 青草青在线 | 一区久久| 国产精品久久久无码一区 | juliaann欧美二区三区 | 国产精品久久久久久久久久小说 | 亚洲黄色片免费看 | 日韩伦理在线视频 | 在线看黄色av | 91亚洲国产成人久久精品麻豆 | 成人黄色一区二区 | 在线观看v片 | 小柔的淫辱日记(h | 在线观看毛片网站 | 久久国产网站 | 香蕉视频网站入口 | 国模一区二区三区 | 精品产国自在拍 | 毛片av在线观看 | 国产精品无码av在线播放 | 免费中文字幕视频 | 免费看a级黄色片 | 欧美tickle狂笑裸体vk | 91精品国产自产精品男人的天堂 | 中文字幕日韩国产 | 999精品在线 | 国产91沙发系列 | 精品久久久久久亚洲综合网站 | 视色影视 | 岛国一区|