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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

CDOJ--1668

發布時間:2023/12/1 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CDOJ--1668 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
原題鏈接:http://acm.uestc.edu.cn/problem.php?pid=1668

? ? ? ?由于題目意思指的是將分數拆分成不同的單位分數之和,所以就不用考慮將2/3拆成1/3+1/3這種情況了;又由于好的拆分要求項數即len
要少,最小的項要大,故可以采用迭代加深搜索,按項數不斷增大的順序進行搜索;對每一種len,要用一個數組將其的所有情況記錄下來,
但這樣太耗空間了,因此將情況保存在ans數組里,然后對ans不斷進行更新。具體實現時,要設兩個標志flag,flag1,flag用來判斷是不是
第一次搜索len長的拆分,flag1用來判斷是否需要對ans進行更新。還有就是每次搜索的起點要弄好,后面的要比前面的大,要將a/b-1/z作
為新的搜索分數,其中z為當前搜到的符合要求的項。然后就可以比較方便地實現了。

1 #include<stdio.h> 2 3 #include<string.h> 4 5 typedef long long ll; 6 ll a,b,pre[1005],ans[1005]; 7 int flag; 8 ll max(ll x,ll y) 9 { 10 if(x>y)return x; 11 return y; 12 } 13 ll gcd(ll small,ll big) 14 { 15 ll temp; 16 if(big<small) 17 { 18 temp=big;big=small;small=temp; 19 } 20 if(big%small==0)return small; 21 return gcd(big%small,small); 22 } 23 void ids(ll x,ll y,int len,int cur) 24 { 25 ll i,j,k; 26 if(cur==len) 27 { 28 if(x==1) 29 { 30 pre[len]=y; 31 if(!flag) 32 { 33 for(i=1;i<=len;i++) 34 ans[i]=pre[i]; 35 } 36 else 37 { 38 int temp,flag1=0; 39 for(temp=len;temp>0;temp--) 40 { 41 if(pre[temp]>ans[temp])break; 42 if(pre[temp]<ans[temp])flag1=1; 43 if(flag1)break; 44 } 45 if(flag1) 46 { 47 for(i=1;i<=len;i++) 48 ans[i]=pre[i]; 49 } 50 } 51 flag=1; 52 } 53 return ; 54 } 55 j=y/x; 56 if(j<2)j=2; 57 j=max(pre[cur-1]+1,j); 58 while(x*j-y<=0)j++; 59 while(1) 60 { 61 ll z=x*j-y; 62 ll m=y*j; 63 k=gcd(z,m); 64 z/=k;m/=k; 65 if(len-cur<(z*j)/m)return ; 66 if(z*j>=(len-cur)*m)return ; 67 pre[cur]=j; 68 ids(z,m,len,cur+1); 69 j++; 70 } 71 } 72 int main() 73 { 74 int i,j,T; 75 ll k; 76 scanf("%d",&T); 77 while (T--) 78 { 79 scanf("%lld%lld",&a,&b); 80 k=gcd(a,b); 81 a/=k;b/=k; 82 pre[0]=1; 83 for(i=1;i<=1000;i++) 84 { 85 flag=0; 86 ids(a,b,i,1); 87 if(flag)break; 88 } 89 for(j=1;j<=i;j++) 90 printf("%lld ",ans[j]); 91 printf("\n"); 92 } 93 return 0; 94 }

?

轉載于:https://www.cnblogs.com/i-love-acm/archive/2013/05/25/3099222.html

總結

以上是生活随笔為你收集整理的CDOJ--1668的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 尤物视频在线观看国产 | 草色网 | 亚洲精品一区二区三区影院忠贞 | 都市激情国产精品 | 一区二区三区在线看 | 91视频分类 | 一个色亚洲 | 日本一区二区三区四区五区 | 久久久穴 | av 一区二区三区 | 国产午夜福利一区 | 九色porny原创自拍 | 在线免费福利视频 | 91丨porny丨| xxx黄色片 | 特级精品毛片免费观看 | 色七七视频 | 亚洲乱码一区二区三区 | 日韩久久在线 | 日本在线观看 | 欧美片在线观看 | 欧美性激情 | 日本高清www | 麻豆成人在线观看 | 91精品国产欧美一区二区 | 一区二区免费在线 | 久草天堂 | 夜色精品| 国内自拍第三页 | 特级淫片裸体免费看 | 日韩av网站在线播放 | 成人av一区二区在线观看 | free性m.freesex欧美 | 粗大黑人巨茎大战欧美成人 | 午夜国产免费 | 国产亚洲精品一区二区三区 | 日日弄天天弄美女bbbb | 无码人妻精品一区二区三区99日韩 | 六月丁香av | 91亚洲欧美激情 | 日本jizz在线观看 | 午夜精品一区二区在线观看 | 亚洲欧美激情精品一区二区 | 开心激情深爱 | 精品人伦一区二区三区蜜桃免费 | 日韩 国产 | 国产最爽的乱淫视频国语对白 | 亚洲精品动漫在线观看 | 成人精品一区二区三区电影 | 日日干夜夜艹 | 国产区网址 | 久久男人的天堂 | 欧美日一区二区 | 高清国产mv在线观看 | 亚洲欧美日韩精品 | 日本免费精品 | 国产三级精品视频 | 久久三| 欧美日韩一区精品 | 成人福利一区二区 | 国产一区综合 | 丰满人妻一区二区三区在线 | 亚洲午夜精品一区二区三区 | 九九久久九九久久 | 欧美日韩国产高清 | 亚洲激情区 | 麻豆一区二区在线观看 | 久久久久久一级片 | 色狠| 综合网五月天 | 三级网站在线免费观看 | avtt久久| av超碰在线观看 | 青青青在线观看视频 | 少妇性l交大片7724com | 日韩在线播放av | 日韩一区二区三区网站 | 九色91在线 | 五月天激情视频在线观看 | 欧美午夜精品一区二区 | 日韩精品久久久久久 | 国产传媒在线观看 | 亚洲一区精品在线 | 久久久精品美女 | 亚洲精品国产精品国自产网站按摩 | 免费在线a | 桃谷绘里香在线播放 | 天天射天天搞 | 久久综合九色 | 一区二区网站 | 欧美黄色特级视频 | youjizzxxxxx | 蜜桃视频导航 | 老头老太做爰xxx视频 | 久色伊人 | 国产成人日韩 | 成人深夜在线 | 久久香蕉精品 | 欧美性插动态图 |