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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

PAT (Advanced Level) 1010 Radix(二分+模拟)

發(fā)布時間:2024/4/11 编程问答 57 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PAT (Advanced Level) 1010 Radix(二分+模拟) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

題目鏈接:點擊查看

題目大意:給出兩個數(shù)n1和n2,再給出其中一個數(shù)的進制,問另一個數(shù)能否選擇一個進制,使得兩個數(shù)的值相等

題目分析:首先這個題目一開始會錯意了,因為題中的表示只給出了0~9以及a~z,所以我就想當然的以為最多只能到36進制,其實不然,模擬了一發(fā)交了上去發(fā)現(xiàn)WA了一半,就去網(wǎng)上搜題解,因為感覺自己模擬的沒有什么問題,就知道了,原來進制只有下限,下限就是此數(shù)字的最大的數(shù)字+1,但沒有上限,于是我回去把代碼中的上限36進制改成了70進制,因為70的十次方還沒有爆longlong,又交了一發(fā),這一次幾乎所有的樣例都過了,只有一個除外,沒辦法,只能再想辦法,網(wǎng)上說因為這個單獨的樣例實際上是會爆掉longlong的,但卻又不是很大,那么該怎么辦呢?于是就運用到了有符號數(shù)的一個機制,也就是正數(shù)的最大值+1得到的是負數(shù)的最小值,這樣一來就可以二分了,因為枚舉的話時間復(fù)雜度頂不住。。二分一下進制,然后每次都判斷一下,若在當前進制下得到了一個負數(shù),說明爆longlong了,將其歸為偏大的情況即可,然后就是上下限的設(shè)置問題了,下限的話上面已經(jīng)說過了,就來說說上限該如何選取,因為當前的數(shù)的進制肯定不可能大于目標數(shù)字,所以上限設(shè)為目標數(shù)字和下限取一個最大值(可能存在目標數(shù)字比下限小的情況),我也試過設(shè)為inf,但又有另一個樣例過不去,不得不說這個數(shù)據(jù)卡的真神奇,如果只是我獨立來做的話最多只能拿到24分,拿到25分還是有點困難的

24分和25分的代碼都掛一下吧:

25:

#include<iostream> #include<cstdlib> #include<string> #include<cstring> #include<cstdio> #include<algorithm> #include<climits> #include<cmath> #include<cctype> #include<stack> #include<queue> #include<list> #include<vector> #include<set> #include<map> #include<sstream> #include<unordered_map> using namespace std;typedef long long LL;const int inf=0x3f3f3f3f;const int N=1e4+100;LL cal(string s,LL radix) {LL ans=0;for(int i=0;i<s.size();i++){ans*=radix;if(isdigit(s[i]))ans+=s[i]-'0';elseans+=s[i]-'a'+10;}return ans; }LL find_radix(string s,string ss,LL radix) {LL target=cal(s,radix);char ch=*max_element(ss.begin(),ss.end());LL l;if(isdigit(ch))l=ch-'0'+1;elsel=ch-'a'+10+1;LL r=max(target,l);LL ans=-1;while(l<=r){LL mid=l+r>>1;LL temp=cal(ss,mid);if(temp<0||temp>target)r=mid-1;else if(temp<target)l=mid+1;else{ans=mid;break;}}return ans; } int main() { // freopen("input.txt","r",stdin);string n1,n2;int tag,radix;cin>>n1>>n2>>tag>>radix;LL ans=tag==1?find_radix(n1,n2,radix):find_radix(n2,n1,radix);if(ans==-1)printf("Impossible\n");elseprintf("%lld\n",ans);return 0; }

24:

#include<iostream> #include<cstdlib> #include<string> #include<cstring> #include<cstdio> #include<algorithm> #include<climits> #include<cmath> #include<cctype> #include<stack> #include<queue> #include<list> #include<vector> #include<set> #include<map> #include<sstream> #include<unordered_map> using namespace std;typedef long long LL;const int inf=0x3f3f3f3f;const int N=1e4+100;int main() { // freopen("input.txt","r",stdin);string n1,n2;int tag,radix;cin>>n1>>n2>>tag>>radix;if(tag==1){LL ans=0;for(int i=0;i<n1.size();i++){ans*=radix;if(isdigit(n1[i]))ans+=n1[i]-'0';elseans+=n1[i]-'a'+10;}int mmax=-1;for(int i=0;i<n2.size();i++){if(isdigit(n2[i]))mmax=max(n2[i]-'0',mmax);elsemmax=max(n2[i]-'a'+10,mmax);}for(int i=mmax+1;i<=75;i++){LL ans2=0;for(int j=0;j<n2.size();j++){ans2*=i;if(isdigit(n2[j]))ans2+=n2[j]-'0';elseans2+=n2[j]-'a'+10;}if(ans2==ans)return 0*printf("%d\n",i);}printf("Impossible\n");}else{LL ans=0;for(int i=0;i<n2.size();i++){ans*=radix;if(isdigit(n2[i]))ans+=n2[i]-'0';elseans+=n2[i]-'a'+10;}int mmax=-1;for(int i=0;i<n1.size();i++){if(isdigit(n1[i]))mmax=max(n1[i]-'0',mmax);elsemmax=max(n1[i]-'a'+10,mmax);}for(int i=mmax+1;i<=75;i++){LL ans2=0;for(int j=0;j<n1.size();j++){ans2*=i;if(isdigit(n1[j]))ans2+=n1[j]-'0';elseans2+=n1[j]-'a'+10;}if(ans2==ans)return 0*printf("%d\n",i);}printf("Impossible\n");}return 0; }

?

總結(jié)

以上是生活随笔為你收集整理的PAT (Advanced Level) 1010 Radix(二分+模拟)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 美女av免费| 最新日韩精品 | 激情专区| 国产精品国产精品国产专区不片 | 国产在线一二三区 | 免费又黄又爽又猛大片午夜 | 男人的天堂视频在线观看 | 亚洲欧美激情小说另类 | 97人妻精品一区二区免费 | 久久亚洲免费视频 | 九色九一| 亚洲欧美偷拍一区 | 午夜香蕉视频 | 青青草国产成人av片免费 | 日韩欧美在线播放 | 免费毛片网站在线观看 | 可以在线看的av | 色综合色综合网色综合 | 91成人在线免费视频 | 99热超碰在线 | 日韩在线视频你懂的 | 色播在线| 日韩视频成人 | 国产精品人妻 | 黄色网日本 | 国产成人综合视频 | 日本黄色免费视频 | 国产中文字幕一区二区 | 另类小说欧美 | 丁香婷婷久久 | 日韩三级在线免费观看 | 日韩欧美国产成人精品免费 | 操校花视频 | 精品久久毛片 | 香蕉视频首页 | 日本一级理论片在线大全 | 久久国产精品国语对白 | 黄色网免费观看 | 自拍偷拍亚洲精品 | 亚洲欧美日韩电影 | 亚洲福利视频一区 | 精品国产乱码久久久久久1区2区 | 日本黄色大片免费 | 中文字幕在线免费视频 | 日本不卡视频在线观看 | 国产最新自拍 | 色伊人网 | 秋霞成人| 国产91影院 | 久久久免费精品视频 | 美女100%视频免费观看 | 日韩欧美一区二区三区在线 | 98国产视频| 一级坐爱片 | 亚洲伊人成人网 | 日韩 国产 在线 | 极品人妻一区二区三区 | 一区二区三区不卡在线 | 亚洲av综合色区无码一区 | 关之琳三级全黄做爰在线观看 | 亚洲不卡在线观看 | 日韩欧美激情 | 一区国产视频 | 国产成人亚洲精品无码h在线 | 成人精品一区二区三区四区 | 91porny丨首页入口在线 | 免费日本特黄 | 亚洲成年人网站在线观看 | 91精品国产一区二区三竹菊影视 | 久久无码人妻丰满熟妇区毛片 | 日本视频www | 国产拍拍拍拍拍拍拍拍拍拍拍拍拍 | 日本黄色的视频 | 三级视频网站在线观看 | 亚洲精品视频播放 | √天堂8资源中文在线 | 黄色a一级 | 国产九九久久 | 又紧又大又爽精品一区二区 | 日本成人免费在线 | 爱情岛亚洲品质自拍极速福利网站 | 国产传媒视频在线 | 亚洲欧美网 | 欧美日韩国内 | 精品人妻久久久久久888不卡 | 蜜桃臀一区二区三区 | 在线资源av | 久久久久久久色 | 北条麻妃一区二区三区四区五区 | 日韩视频在线观看免费视频 | 男人av的天堂| 成人性生交大片免费看中文 | 美女尻逼视频 | 凹凸精品一区二区三区 | 亚洲熟妇一区二区 | 青草在线视频 | 蜜臀视频在线播放 | 超级黄色录像 | 插插操操|