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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

NOIP模拟测试25「字符串·乌鸦喝水·所陀门王的宝藏(陀螺王)」

發布時間:2023/12/2 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 NOIP模拟测试25「字符串·乌鸦喝水·所陀门王的宝藏(陀螺王)」 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

字符串

題解

沒看出catalan怎么辦

dp打表啊!

考慮大力dp拿到30分好成績!順便收獲一張表

打表發現$C_{n+m}^{m}-C_{n+m}^{m-1}$

仔細觀察然后發現其實就是之前的網格那個題

那么我們回顧一下網格那個題

先看最簡單的n==m情況

求左下角走到右上角方案數,不能經過中間那條線

?

考慮大力容斥,首先總方案數$C_{2*n}^{n}$很好求,那么我們現在任務就是求不合法的

?我們考慮到如果經過中間那條線我們至少要經過紅色那條線,考慮求從左下角超過那條藍線(不合法)方案數,

如果有紅線限制我們好像仍然難以求出,我們怎么消除紅線影響

方法非常簡單:考慮將正方形翻折,那么我們經過綠線走到右上角就轉變為了沿綠線走再沿藍線走方案,這樣我們就擺脫了紅線的控制

那么我們就轉化為了從左下角走到翻折后多邊形所在角在位置

得到$C_{(n+1)+(n-1)}^{n-1}$即$C_{2*n}^{n-1}$

相減即可

那么如果$n!=m$類似$C_{n+m}^{m}-C_{n+m}^{m-1}$,自己畫畫即可

?

代碼

我不想放了

烏鴉喝水

題解

$55分算法$

先預處理出來能喝多少次

$n*m$ 復雜度,

代碼

#include<bits/stdc++.h> using namespace std; #define ll long long #define A 1010101 ll cishu,maxn,n,m,all=0; ll a[A],he[A],xiajiang[A]; int main(){scanf("%lld%lld%lld",&n,&m,&maxn);for(ll i=1;i<=n;i++){scanf("%lld",&a[i]);}for(ll i=1;i<=n;i++){scanf("%lld",&xiajiang[i]);he[i]=(maxn-a[i])/xiajiang[i];}for(ll i=1;i<=m;i++){all=1;for(ll j=1;j<=n;j++){if(he[j]>=cishu){cishu++;all=0;}}if(all) break;}printf("%lld\n",cishu); } View Code

$95分算法$

我們重復枚舉了很多無用的狀態,當前已經喝不到我們不用再考慮,于是拿鏈表優化一下

$100分算法$

這種題肯定有性質,這么大的范圍一定有性質.

性質: 水少的喝了$k$次那么水多的一定至少也喝了$k$次

我們考慮排序,然而排序后打亂了順序怎么辦,拿一個樹狀數組維護一下排序前的

我們可以快速算出在當前水壺喝了多少水

思考已知之前喝了$ans$次當前還剩$w$個水壺沒喝完,這個水壺能喝$cnt$次

那么它能喝$\frac{cnt-ans}{w}$輪

考慮喝完這么多輪會有剩余,這時用樹狀數組找sum就完了

代碼

#include<bits/stdc++.h> using namespace std; #define ll long long #define A 1111111 ll c[A],xiajiang[A],he[A],a[A]; ll n,m,maxn,ans=0; struct toot{ll pos,cnt;friend bool operator < (const toot &a,const toot &b){return ((a.cnt==b.cnt)?(a.pos<b.pos):(a.cnt<b.cnt));} }que[A]; void add(ll l,ll a){for(ll i=l;i<=n;i+=(i&-i))c[i]+=a; } ll sum(ll l){ll sum=0;for(ll i=l;i>=1;i-=(i&-i))sum+=c[i];return sum; } int main(){scanf("%lld%lld%lld",&n,&m,&maxn);for(ll i=1;i<=n;i++){scanf("%lld",&a[i]);}for(ll i=1;i<=n;i++){scanf("%lld",&xiajiang[i]);he[i]=(maxn-a[i])/xiajiang[i]+1;que[i].cnt=he[i],que[i].pos=i;add(i,1);}sort(que+1,que+n+1); // printf("que[1]=%lld\n",que[1].cnt);for(ll i=1;i<=n;i++){add(que[i].pos,-1);if(que[i].cnt<=0) continue;if(que[i].cnt-ans<=0) continue;ll cnt=(que[i].cnt-ans)/(n-i+1);if(cnt>=m){ans+=m;continue;}if(sum(que[i].pos)<((que[i].cnt-ans)%(n-i+1)))cnt++;ans+=cnt;}printf("%lld\n",ans); } View Code

所駝門王的寶藏(駱駝王)

題解

縮點跑一個類似最長鏈的東西

數組大小比較謎

代碼

#include<bits/stdc++.h> using namespace std; #define ll int #define A 2000010 ll n,m,k,tot=0,cnt=0; ll id(ll x,ll y){return (x-1)*m+y; } inline ll read(){ll f=1,x=0;char c=getchar();while(!isdigit(c)){if(c=='-') f=-1;c=getchar();}while(isdigit(c)){x=(x<<1)+(x<<3)+(c-'0');c=getchar();}return f*x; } ll head[A],nxt[A<<1],ver[A<<1],a[521000],b[521000],c[521000],sz[A],dfn[A],low[A],sta[A],belong[A],f[A]; ll head_[A],nxt_[A<<1],ver_[A<<1]; map< pair<ll,ll>,ll > mp; ll top=0,toot=0,scc=0,tot_=0; bool flag[A],vis[A],ins[A]; vector<ll> hang[A],lie[A]; void add(ll x,ll y){ // printf("x=%d y=%d\n",x,y);ver[++tot]=y,nxt[tot]=head[x],head[x]=tot; } void add2(ll x,ll y){ // printf("x=%d y=%d\n",x,y);ver_[++tot_]=y;nxt_[tot_]=head_[x];head_[x]=tot_; } void tarjan(ll x){dfn[x]=low[x]=++toot;sta[++top]=x;ins[x]=1;for(ll i=head[x];i;i=nxt[i]){ll y=ver[i];if(!dfn[y]){tarjan(y);low[x]=min(low[x],low[y]);}else if(ins[y]) low[x]=min(low[x],dfn[y]);}if(low[x]==dfn[x]){ll y=0;scc++;while(1){y=sta[top--];belong[y]=scc;ins[y]=0;sz[scc]++;if(y==x) break;}} } ll dp(ll x,ll pre){if(f[x]) return f[x];f[x]=0;for(ll i=head_[x];i;i=nxt_[i]){ll y=ver_[i];ll nx=dp(y,x); // printf("x=%d y=%d nx=%d\n",x,y,nx);f[x]=max(f[x],nx);}f[x]+=sz[x];return f[x]; } void rebuilt(){for(ll i=1;i<=k;i++){for(ll j=head[i];j;j=nxt[j]){ll y=ver[j];if(belong[i]!=belong[y]){add2(belong[i],belong[y]);}}} } int main(){k=read(),n=read(),m=read();for(ll i=1;i<=k;i++){a[i]=read(),b[i]=read(),c[i]=read();mp[make_pair(a[i],b[i])]=i;hang[a[i]].push_back(i);lie[b[i]].push_back(i);}for(ll i=1;i<=k;i++){if(c[i]==1){for(ll j=0;j<hang[a[i]].size();j++){if(i!=hang[a[i]][j])add(i,hang[a[i]][j]);}}if(c[i]==2){for(ll j=0;j<lie[b[i]].size();j++){if(i!=lie[b[i]][j])add(i,lie[b[i]][j]);}}if(c[i]==3){ll _1_=mp[make_pair(a[i]-1,b[i])],_2_=mp[make_pair(a[i]+1,b[i])],_3_=mp[make_pair(a[i],b[i]+1)],_4_=mp[make_pair(a[i],b[i]-1)],_5_=mp[make_pair(a[i]+1,b[i]+1)],_6_=mp[make_pair(a[i]+1,b[i]-1)],_7_=mp[make_pair(a[i]-1,b[i]-1)],_8_=mp[make_pair(a[i]-1,b[i]+1)];if(_1_) add(i,_1_);if(_2_) add(i,_2_);if(_3_) add(i,_3_);if(_4_) add(i,_4_);if(_5_) add(i,_5_);if(_6_) add(i,_6_);if(_7_) add(i,_7_);if(_8_) add(i,_8_);}}for(ll i=1;i<=k;i++){if(!dfn[i]) tarjan(i);} // for(ll i=1;i<=k;i++){ // printf("belong=%d\n",belong[id(a[i],b[i])]); // } rebuilt();for(ll i=1;i<=scc;i++){if(!f[i])dp(i,0);} for(ll i=1;i<=scc;i++){f[0]=max(f[0],f[i]);}printf("%d\n",f[0]); } View Code

?

轉載于:https://www.cnblogs.com/znsbc-13/p/11374102.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的NOIP模拟测试25「字符串·乌鸦喝水·所陀门王的宝藏(陀螺王)」的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 一区二区传媒有限公司 | 高跟鞋调教—视频|vk | 亚洲一区二区av在线 | 精东影业一区二区三区 | 影音先锋黄色资源 | 蜜桃av在线免费观看 | 中文字幕亚洲成人 | 老司机精品视频在线 | 国产成人自拍视频在线观看 | 婷婷黄色网 | 欧美成人高潮一二区在线看 | 亚洲成人网页 | 国产精品国产三级国产普通话对白 | 国产精品区在线 | 伊人论坛| 亚洲国产综合在线 | 国产在线一区二区视频 | 天天插综合| 欧美日韩性生活视频 | 亚洲综合视频在线播放 | 午夜久久久久久久久久久 | 欧美精品成人 | 日本一区免费电影 | 熟女一区二区三区视频 | 亚洲少妇15p | 呦呦视频在线观看 | 日日噜| av少妇在线 | 成人青青草 | 人成免费 | 五月天婷婷色 | 加勒比色综合 | 国产精品情侣 | 欧美亚洲在线 | 三日本三级少妇三级99 | 亚洲视频观看 | av黄色av| 97超碰国产精品无码蜜芽 | 亚洲精品国产成人 | 超碰个人在线 | 女婴高潮h啪啪 | 欧美日韩一区二区区别是什么 | 亚洲一区二区观看播放 | 欧美第九页 | 亚洲区成人 | 色婷婷综合在线 | 全部孕妇毛片丰满孕妇孕交 | 国产成人av片 | 日本不卡视频在线 | 欧美aaa视频 | 欧美精品在欧美一区二区少妇 | 欧美日韩亚洲色图 | 欧美视频一区二区三区 | 超碰在线人人草 | 日本免费一区二区三区最新 | 综合激情av | 黑人玩弄人妻一区二区三区 | 青青久操| 国产成人精品无码免费看在线 | 日本人极品人妖高潮 | 黄色一级大片免费版 | 屁屁影院一区二区三区 | 中国挤奶哺乳午夜片 | 四虎永久网址 | 日本福利视频一区 | 性农村xxxxx小树林 | 91麻豆精品视频 | 综合激情亚洲 | 奇米四色影视 | 夜夜草网站 | 深夜福利网 | www国产亚洲精品久久网站 | 无码人中文字幕 | 99国内揄拍国内精品人妻免费 | av在线专区| 干欧美少妇 | 中文字幕日本在线观看 | 欧美三级小视频 | 色婷婷综合久久久中文字幕 | 九九九九热 | 亚洲专区一区 | 欧洲精品一区二区 | 国产一区二区三区亚洲 | 狂野欧美性猛交免费视频 | 一级黄色在线播放 | 欧美国产第一页 | 亚洲精品1区2区3区 国产丝袜网站 | 国产精品高潮呻吟久久av野狼 | 超碰在线9| 伊人论坛 | 57pao成人国产永久免费视频 | 中文字幕一区二区三区四区视频 | 无码精品人妻一区二区三区漫画 | 欧美日韩一区在线 | 好av在线| 亚洲av无码一区二区三区在线观看 | 最新av在线播放 | 国产成人无码精品亚洲 | 免费黄色高清视频 |