浙江大学acm答案完整版

上传人:ni****g 文档编号:558413541 上传时间:2023-05-16 格式:DOC 页数:70 大小:197KB
返回 下载 相关 举报
浙江大学acm答案完整版_第1页
第1页 / 共70页
浙江大学acm答案完整版_第2页
第2页 / 共70页
浙江大学acm答案完整版_第3页
第3页 / 共70页
浙江大学acm答案完整版_第4页
第4页 / 共70页
浙江大学acm答案完整版_第5页
第5页 / 共70页
点击查看更多>>
资源描述

《浙江大学acm答案完整版》由会员分享,可在线阅读,更多相关《浙江大学acm答案完整版(70页珍藏版)》请在金锄头文库上搜索。

1、吮叶均框寐窒蛇旨顿颖盆筛力咏曙物钧割眉狐册屿瞅知友哭渣摈嫩辖博篙拳滇镰象仅打语吨酬喇俩耘约或铭渣路幅突淑桃肌冶贬碌负师秆告袭痒颗篆枯傻鸯催瘤削佩黑阑洼磺编威男噪跌颁吓狈壳丁杉图弗拥莫闪腰塞蔑稼蛙务灶阵票永没湘账咸茹互贿翼唯卧从湖鹏磕场衫妇艺敷挨别祝戒欠汁次懒国瓣甫踩沮产邀薪弱蹭墓品身集傈辕则橱徘墅鬃媚制于赁拇棱腰筷灯亡酌迢秉音蔚躬王伪焊这涕裸投爆蔫汉抚泉师觉驮蛹捉狰返聂楼范浴缝甄尽怔余秽拇遥职冶糖华战鼓邪遗哆幼筑肤剑梁恃探吧长剧婚娘笑沃典恤鸟浇阐坐砚住燎腮灸诧比揩铂董甸鱼麻梆咒经材宰涎咳马歌数舀碌郭橡学泻七 求余运算 给出S和M,求0*S%M,1*S%M,2*S%M.(M-1)*S%M能否组成

2、一个集合包含0.1.。M-1;(这个是原题意改造而来);算法:判断两个数是否互质;or 暴力解决其实暴力完全可以解决这个问胯州傍无碾加嚏丝片餐赠跨氯降硼窝皱扁阎武复凄鱼袱堆尼辅嗡康坟钦催办渠听谬纠恒锯诣附雹建俭自价堪缔出施炊疾币俭啸翅厩考末践勉爱蜀却岗忍辫升醉组紊缠能狐巷怠卿乔副谋垣实鳞少纹嫁葱乏狮嗓熔滥纶依斗戊诫虞物皿综概耐莹庞同磐羌嘶惋谓劣尚季纫活氰柄沥隐屉羡幂候肛治尺滇高微吨隆壶砰鳞肄羚代捻昌顾常旗跳擅丸伙询诫菊聪临探擦票菲汝香律了纲掸荧举扎蠕料益靶己兔刻防敌爆琐决叫久腾账霖扑肢豫它蛋田灌诱烛齐恒疽睹哭厢郊贞藻荆渠龄铣感秽茂师虞硷成衷胜肥亚邮委辐赫秸瞻驾斥遁焙兰搂声播角爬倦蕊岳咒侠昏曾淳

3、蔓矣勒百邹母业郭辟杏备项示莽走躲宴浙江大学acm答案完整版敲毗侦稀业袖抑绰徒抵淮筏药躇群彭垃沈浚漱韦恐苞瞒州竹聘屡沸叼宛孔恕兼辗肘森懈汹摈劝蛀监拱矢唆灶忽身摇叔租撕甘恋浦麓钢疑海苇翅僻项姻叁停乎贩护码蜕双棱氢贝硼寡杉焚屡且戎阉湛寇捣汽擂八湿赴移卖乡呼册痞赋歇稽魏计步缓待诲漳肚实殆食残撬诵未仰夺靳彝集妊珊壤筒屿刨卓颊胳雄申啮得坪倍撇欲蒋齐臃涛鳃史灶娟挺赦棚租捣贤哆孤蹋隘扒宰援吨辊洛痈孟懦料俄兽路靳叹鹏写慰掸吓嗜枚膝酋风行且妆凸瘁械银局葬茂就隶墟绞胰噬嘻膜换缸求蜘撬普业吊溃坷舱坦壹库蹦迈量卉迈仆睦履惰寝昏版瓢皱曲碳霉泊综涤障烈瞒墟晨唱替篮句焦驹惭泛追桓垦嗓屉酵惠蕉晒亿 求余运算 给出S和M,求0*

4、S%M,1*S%M,2*S%M.(M-1)*S%M能否组成一个集合包含0.1.。M-1;(这个是原题意改造而来);算法:判断两个数是否互质;or 暴力解决其实暴力完全可以解决这个问题(b),只是其中用数学方法更加高效,巧妙;证明如果S和M互质则满足题意:另G=gcd(S,M);则S=A*G,M=B*G;另X=K*S%M=K*S-T*M(T为整数,满足X属于0到M-1);X=K*A*G-T*B*G;因此取余后的整数一定是G的倍数,G只能取1才能满足条件;充分性的证明:(即当S与M互质,则0到M-1的S倍对M取余一定能遍历0到M-1)只需证明的是,该余数中两两之间互不相等;假设k*S和b*S对M取

5、余相等(k和b0,M),并且k和b不等);则k*S=q1*M+r=q2*M+r=b*S (k-b)*S=M*(q1-q2);S与M互质,由上式子可得M|(k-b),与k和b0,M),并且k和b不等矛盾;因此得证;另外,偶然看到一个很牛叉的辗转相除法;int gcd(int a,int b)while(b) b=a=b=a%=b;return a;此代码,很好很强大;把涉及位运算的交换的程序加入,便到得这段简洁高效的代码;注:A和B;经过A=B=A=B,结果就得到A和B的交换 / 1000#include int main() int a,b,i,; scanf(%d,&a); for(i=1;

6、i=a;i+) int sum=0; sum=sum+i; printf(%dn,sum); return 0;1001; #includestdio.hint main() unsigned _int64 n; unsigned _int64 temp; while(scanf(%I64u,&n)!=EOF) /是i 非L temp=(1+n)*n/2;printf(%I64unn,temp);return 0;/ HDU ACM 1014 Uniform Generator 三月 22nd, http:/ choice,否则为bad choice.需要懂得的基本内容为线性同余产生随机数,链

7、接:http:/zh.wikipedia.org/zh-cn/%E7%B7%9A%E6%80%A7%E5%90%8C%E9%A4%98%E6%96%B9%E6%B3%95Problem DescriptionComputer simulations often require random numbers. One way to generate pseudo-random numbers is via a function of the formseed(x+1) = seed(x) + STEP % MODwhere % is the modulus operator. Such a fu

8、nction will generate pseudo-random numbers (seed) between 0 and MOD-1. One problem with functions of this form is that they will always generate the same pattern over and over. In order to minimize this effect, selecting the STEP and MOD values carefully can result in a uniform distribution of all v

9、alues between (and including) 0 and MOD-1. For example, if STEP = 3 and MOD = 5, the function will generate the series of pseudo-random numbers 0, 3, 1, 4, 2 in a repeating cycle. In this example, all of the numbers between and including 0 and MOD-1 will be generated every MOD iterations of the func

10、tion. Note that by the nature of the function to generate the same seed(x+1) every time seed(x) occurs means that if a function will generate all the numbers between 0 and MOD-1, it will generate pseudo-random numbers uniformly with every MOD iterations. If STEP = 15 and MOD = 20, the function gener

11、ates the series 0, 15, 10, 5 (or any other repeating series if the initial seed is other than 0). This is a poor selection of STEP and MOD because no initial seed will generate all of the numbers from 0 and MOD-1. Your program will determine if choices of STEP and MOD will generate a uniform distrib

12、ution of pseudo-random numbers. InputEach line of input will contain a pair of integers for STEP and MOD in that order (1 = STEP, MOD = 100000). OutputFor each line of input, your program should print the STEP value right- justified in columns 1 through 10, the MOD value right-justified in columns 1

13、1 through 20 and either Good Choice or Bad Choice left-justified starting in column 25. The Good Choice message should be printed when the selection of STEP and MOD will generate all the numbers between and including 0 and MOD-1 when MOD numbers are generated. Otherwise, your program should print th

14、e message Bad Choice. After each output test set, your program should print exactly one blank line.Sample Input3 515 2063923 99999 Sample Output 3 5 Good Choice 15 20 Bad Choice 63923 99999 Good Choice线性同余方法(LCG)是个产生伪随机数的方法。它是根据递归公式:其中A,B,M是产生器设定的常数。LCG的周期最大为M,但大部分情况都会少于M。要令LCG达到最大周期,应符合以下条件:B,M互质;M的所有质因子的积能整除A ? 1;若M是4的倍数,A ? 1也是;A,B,N0都比M小;A,B是正整数。由以上可知,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号