锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久免费视频1,亚洲伊人久久综合影院,亚洲狠狠综合久久http://www.shnenglu.com/sdfond/category/9806.html涓栦簨媧炴槑鐨嗗闂紝浜烘儏緇冭揪鍗蟲(chóng)枃绔?/description>zh-cnSun, 05 Jul 2015 19:14:55 GMTSun, 05 Jul 2015 19:14:55 GMT60鍙堢炕鍑轟竴閬撹侀http://www.shnenglu.com/sdfond/archive/2010/04/26/113659.htmlsdfondsdfondMon, 26 Apr 2010 15:34:00 GMThttp://www.shnenglu.com/sdfond/archive/2010/04/26/113659.htmlhttp://www.shnenglu.com/sdfond/comments/113659.htmlhttp://www.shnenglu.com/sdfond/archive/2010/04/26/113659.html#Feedback0http://www.shnenglu.com/sdfond/comments/commentRss/113659.htmlhttp://www.shnenglu.com/sdfond/services/trackbacks/113659.html銆銆緇欏畾涓涓猘 * b鐨勭綉鏍鹼紝浠庡乏涓嬪埌鍙充笂鐢諱竴鏉$嚎絀胯繃鐨勬牸瀛愭暟鏄痭銆傜粰瀹氫竴涓猲闂湁澶氬皯縐嶄笉鍚岀殑a鍜宐婊¤凍絀胯繃鐨勬牸瀛愭暟涓簄銆傚搴擳JU 2880銆?br>銆銆棣栧厛n = a + b - gcd(a, b)銆傚洜涓哄浜庢瘡涓┛榪囩殑鏍煎瓙錛岀洿綰垮彲鑳戒細(xì)浠庢牸瀛愮殑涓婁晶絀胯繃錛屼篃鍙兘浠庢牸瀛愮殑鍙充晶絀胯繃錛屼篃鍙兘鏃㈢┛榪囦笂渚т篃絀胯繃鍙充晶(涔熷氨鏄粠鍙充笂瑙掔┛榪?銆傚洜涓虹洿綰挎昏浠庡乏杈硅蛋鍒板彸杈癸紝鍥犳鎭板ソ鏈塧涓牸瀛愪細(xì)琚洿綰跨┛榪囧彸渚?鐩寸嚎鏄繛緇殑錛屼笉浼?xì)鍦ㄥ悓涓鍒楀悓鏃剁┛榪囦袱涓牸瀛愮殑鍙充晶)錛屽悓鐞嗘伆濂芥湁b涓牸瀛愪細(xì)琚洿綰跨┛榪囦笂渚э紝榪欐牱鎬誨叡灝辨槸a + b涓備絾鏄繖鏍風(fēng)殑璇濈┛榪囧彸涓婅鐨勬牸瀛愬氨琚噸澶嶈綆椾簡(jiǎn)錛岃繖鏍風(fēng)殑鏍煎瓙濡傛灉鍧愭爣涓?x, y)錛屼竴瀹氭弧瓚寵繖涓潯浠訛細(xì)x : y = a : b錛岃繖鏍穉y = bx錛屾樉鐒舵弧瓚崇瓑寮忕殑瑙d釜鏁版槸gcd(a, b)涓傝繖鏍穘鐨勫煎氨琚綆楀嚭鏉ヤ簡(jiǎn)銆?br>銆銆鐒跺悗璁緂 = gcd(a, b)錛宎 = a' * g, b = b' * g, 閭d箞n = (a' + b' - 1) * g, 鍏朵腑gcd(a', b') = 1銆傞氳繃鏋氫婦g鍙互姹傚嚭婊¤凍鏉′歡鐨?a', b')鐨勪釜鏁幫紝姹傚拰灝辨槸緇撴灉銆傛帴涓嬬殑闂灝辨槸姹俛' + b' = n'鐨勫簭瀵逛釜鏁般傚彲浠ヨ瀹歡cd(a', n') = 1錛屽鏋滀笉鏄繖鏍風(fēng)殑璇濓紝浼?xì)鏈塧' = t * A, n' = t * N, 榪欐牱鐨勮瘽b' = t(N - A)錛岃繖鏍峰氨鍜宎'銆乥'浜掔礌鐭涚浘銆傝繖鏍峰彧闇瑕佹眰鍜宯'浜掔礌鐨勬暟鐨勪釜鏁板嵆鍙紝鍒╃敤嬈ф媺鍑芥暟灝卞彲浠ュ緢楂樻晥鐨勬壘鍒版弧瓚蟲(chóng)潯浠剁殑搴忓涓暟浜?jiǎn)銆?br>


sdfond 2010-04-26 23:34 鍙戣〃璇勮
]]>
The Proof Of Euclid Algorithmhttp://www.shnenglu.com/sdfond/archive/2010/04/24/113465.htmlsdfondsdfondSat, 24 Apr 2010 13:29:00 GMThttp://www.shnenglu.com/sdfond/archive/2010/04/24/113465.htmlhttp://www.shnenglu.com/sdfond/comments/113465.htmlhttp://www.shnenglu.com/sdfond/archive/2010/04/24/113465.html#Feedback0http://www.shnenglu.com/sdfond/comments/commentRss/113465.htmlhttp://www.shnenglu.com/sdfond/services/trackbacks/113465.html銆銆姹俫cd(a, b)錛屾璇乬cd(a, b) = gcd(b, a % b)
銆銆璁綿1 = gcd(a, b), d2 = gcd(b, a % b), a > b涓攁 = qb + r
銆銆鍙渶璇乨1 | d2騫朵笖d2 | d1銆?br>銆銆鍥犱負(fù)d2 | b, d2 | r, 鍥犳d2 | (b + qr) = a錛屾牴鎹甦2 | b涓攄2 | a鏈塪2 | gcd(a, b)錛屽嵆d2 | d1銆?br>銆銆鍥犱負(fù)d1 | a, d1 | b, 鍥犳d1 | (a - qb) = r錛屾牴鎹甦1 | b涓攄1 | r鏈塪1 | gcd(b, r)錛屽嵆d1 | d2銆?br>銆銆鏍規(guī)嵁Euclid綆楁硶鎵ц榪囩▼錛実cd(a, b) = gcd(b, r) = gcd(r, b % r) = ... = gcd(rn, rn-1 % rn)錛屽鏋渞n-1 % rn = 0錛屾牴鎹甮cd(a, 0) = a錛屾湁gcd(a, b) = rn錛岃瘉姣曘?br>
銆銆璨屼技鍋忓簭鍏崇郴涓婅瘉a = b寰堝閮芥槸鍒╃敤鍙嶅縐版э紝姣斿a >= b騫朵笖b >= a鍒檃 = b錛屾垨鑰卆 | b騫朵笖b | a鍒檃 = b錛屼竴涓緢甯哥敤涓斿己澶х殑鏂規(guī)硶銆?br>


sdfond 2010-04-24 21:29 鍙戣〃璇勮
]]>
SPOJ 2154 Kruskalhttp://www.shnenglu.com/sdfond/archive/2010/02/06/107365.htmlsdfondsdfondSat, 06 Feb 2010 01:04:00 GMThttp://www.shnenglu.com/sdfond/archive/2010/02/06/107365.htmlhttp://www.shnenglu.com/sdfond/comments/107365.htmlhttp://www.shnenglu.com/sdfond/archive/2010/02/06/107365.html#Feedback0http://www.shnenglu.com/sdfond/comments/commentRss/107365.htmlhttp://www.shnenglu.com/sdfond/services/trackbacks/107365.html銆銆鐚村瓙鍜孠ruskal鐜╀竴涓彇鐭沖瓙娓告垙錛岀粰瀹歯鍫嗙煶瀛愶紝n涓嶅ぇ浜?00錛屾瘡鍫嗙煶瀛愮殑涓暟澶т簬2灝忎簬2 ^ 32錛屽弻鏂硅疆?huà)箒鍙栧瓙锛屾瘡娆″彲浠ヤ粠涓鍫嗕腑鍙栨渶澶歬涓紝褰撲竴鏂瑰彇瀹岀煶瀛愬悗鏌愬爢鐭沖瓙鐨勪釜鏁版槸绱犳暟鐨勮瘽閭d箞褰撳墠鐜╁鑾瘋儨銆傞棶鐚村瓙鏄惁鏈夊繀鑳滅瓥鐣ャ?br>
銆愰鐩垎鏋愩?br>銆銆榪欐槸涓閬揃T棰橈紝涓棿璁劇疆浜?jiǎn)璁稿trick銆傚紑濮嬪棰樻剰娌℃湁瀹屽叏鐞嗚В錛岄敊浜?jiǎn)寰堝娆″Q屽悗鏉ユ壘鏉ヤ簡(jiǎn)鏁版嵁錛屾墠鍙戠幇浜?jiǎn)闂銆?br>銆銆棰樼洰涓弿榪扮殑鑾瘋儨絳栫暐鏄細(xì)"A player wins if after his move the size of some heap is a prime number."榪欏彞璇濅箥涓鐪嬩互涓烘槸鍙栧畬鐭沖瓙鍚庡墿涓嬬殑鐭沖瓙涓暟鏄礌鏁扮殑鏃跺欏氨鑾瘋儨錛屽叾瀹炶繕闅愯棌鐫鍙︿竴縐嶅彲鑳斤細(xì)濡傛灉澶氬爢鐭沖瓙涓暟鏄礌鏁幫紝褰撳墠鐜╁鏃犺鎬庢牱鍙栭兘鑳借幏鑳滐紝鍥犱負(fù)鍦ㄤ粬鍙栧畬涔嬪悗錛屽叾浠栧爢鐨勭煶瀛愪釜鏁版槸绱犳暟錛屼篃婊¤凍鑾瘋儨鏉′歡銆?br>銆銆鎺ヤ笅鏉ヨ冭檻涓鑸儏鍐點(diǎn)傝繖涓鐩槸闄愬埗涓棿鐘舵佺殑Nim娓告垙錛屼篃灝辨槸璇達(dá)紝瀵逛簬涓鍫嗕釜鏁頒負(fù)n鐨勭煶瀛愯岃█錛屽畠鐨凷G鍊煎彇鍐充簬灝忎簬n鐨勬渶澶х礌鏁般傛敞鎰忚繖閲岄璁懼張鏈変簡(jiǎn)涓涓皬trick錛岄鐩鏄庝簡(jiǎn)闇瑕佸彇1鍒発涓紝濡傛灉褰撳墠鐭沖瓙涓暟鏈韓鏄礌鏁幫紝褰撶劧鏄病鐢ㄧ殑錛屽洜姝ゆ槸灝忎簬n鐨勬渶澶х礌鏁般傝灝忎簬n鐨勬渶澶х礌鏁版槸p(棰樼洰涓鏄庝簡(jiǎn)鐭沖瓙涓暟澶т簬2錛屽洜姝涓瀹氬瓨鍦?錛岄偅涔堝彲浠ュ湪k姝ヤ互鍐呭埌杈緋鐨勪竴瀹氭槸蹇呰儨鎬侊紝鑰屼笖鏄洿鎺ヨ幏鑳滐紝闇瑕佸湪杈撳叆鐨勬椂鍊欑壒鍒?榪欎竴鐐歸渶瑕佹敞鎰忥紝鍦ㄨВ鍐抽檺鍒朵腑闂寸姸鎬佺殑Nim娓告垙鏃朵竴鑸兘闇瑕佺壒鍒?銆傜劧鍚庡氨鏄痯 + k + 1榪欎釜鐘舵侊紝鍥犱負(fù)瀹冨彲杈劇殑鐘舵佸叏鏄繀鑳滄侊紝鍥犳瀹冩槸蹇呰觸鎬侊紝SG鍊間負(fù)0銆傜幇鍦ㄨ冭檻澶т簬p + k + 1鐨勭姸鎬侊紝闂鍑烘潵浜?jiǎn)銆備互p + k + 2榪欎釜鐘舵佷負(fù)渚嬶紝鍥犱負(fù)瀹冨彲浠ュ埌杈緋 + 2 ... p + k + 1榪欎簺鐘舵侊紝鍥犱負(fù)p + 2 ... p + k閮芥槸鐩存帴鑾瘋儨鐘舵侊紝濡備綍鍒ゅ畾浠栦滑鐨凷G鍊煎憿錛熷鏋滃亣璁懼畠浠殑SG鍊兼槸1錛岄偅涔坧 + k + 2榪欎釜鐘舵佺殑SG鍊煎簲璇ユ槸2銆備絾鏄濊冧竴涓婼G鍊肩殑瀹氫箟錛屽畠鏄畾涔夊湪涓涓狣AG涓婄殑錛屾墍鏈夌殑鐘舵佹渶鍚庨兘鏄彲浠ュ湪鏈夐檺姝ュ唴杞Щ鍒扮粓姝㈡?蹇呰觸鎬?銆備絾鏄痯 + 1 ... p + k榪欎簺鐘舵侀兘杞Щ鍒頒簡(jiǎn)p榪欎釜鐘舵佷笂錛屾垜浠偗瀹氫笉鑳借瀹歱鐘舵佹槸緇堟鎬侊紝鍥犳浠呬粎鍑焢 + 1 ... p + k榪欎簺鐘舵佹槸蹇呰儨鎬佸氨綆鍗曠殑鎶婂畠浠殑SG鍊艱涓?鏄笉鎭板綋鐨勶紱榪欎簺闄愬埗鐘舵佸拰浠ュ墠鐨勯鐩繕?shù)笉鍚屽Q岃繖浜涢檺鍒剁姸鎬侀兘涓嶈兘杞Щ鍒扮粓姝㈡佷笂錛屼絾鏄敱浜庨鐩殑瑕佹眰錛屽畠浠張閮芥槸蹇呰儨鎬侊紝鍥犳鎶婂畠浠殑SG鍊艱涓烘棤絀峰ぇ鏇村悎閫備簺銆?br>銆銆浠旂粏鎬濊冧竴涓嬪甫闄愬埗鐘舵佺殑SG娓告垙錛屽彲浠ュ彂鐜幫紝瀹冧滑鍜屼竴鑸殑SG娓告垙鐨勫尯鍒湪浜庯紝鍦ㄥ垎鏋愪竴鑸殑SG娓告垙鐨勬椂鍊欙紝瀵逛簬涓涓姸鎬佸浘鑰岃█錛岃漿縐誨埌緇堟鎬佺殑鏃跺欏茍涓嶆剰鍛崇潃娓告垙緇撴潫錛屽洜涓虹帺瀹跺彲浠ラ氳繃璧板叾浠栫殑鐘舵佸浘鏉ヤ繚璇佹槸鍚﹁揪鍒板繀鑳滄侊紱浣嗘槸甯﹂檺鍒剁姸鎬佺殑SG娓告垙錛岄檺鍒剁殑鐘舵佸弻鏂歸兘鏄笉鏁㈣蛋鐨勶紝鍥犱負(fù)涓鏃︿竴鏂硅蛋鍏ラ檺鍒剁姸鎬侊紝鍙︿竴鏂圭珛鍒昏幏鑳滐紝娓告垙灝辯粓姝簡(jiǎn)銆傚彲浠ヨ涓猴紝鍙璧板叆闄愬埗鎬佸氨鐩稿綋浜庤杈擄紝瀵逛簬鍙屾柟鐜╁鑰岃█鑲畾閮戒笉浼?xì)杩欐牱鍋氬Q屽洜姝よ繖浜涢檺鍒剁姸鎬佸氨鎴愪簡(jiǎn)“姝葷姸鎬?#8221;錛屽畬鍏ㄥ彲浠ュ拷瑙嗚繖浜涚姸鎬侊紙涔熷氨鏄涓嶅瓨鍦ㄥ埌榪欎簺鐘舵佺殑杞Щ錛夈傞氳繃涓婅堪鍒嗘瀽錛屾垜浠彲浠ヨ瀹歱 + k + 2榪欎釜鐘舵佺殑SG鍊煎簲璇ユ槸1鑰屼笉鏄?銆?br>銆銆鐜板湪榪欎釜闂鐨勫仛娉曞氨姣旇緝鏄庢湕浜?jiǎn)锛屽浜庢瘡鍫嗙煕_瓙錛屽幓鎺夐檺鍒舵佺殑璁ㄨ鍚庯紝灝卞彉鎴愪簡(jiǎn)鍦ㄩ泦鍚坽1...k}涓夋嫨鍏冪礌鐨勪竴涓猄ubtraction Game錛屽畠鐨凷G鍊兼槸妯?k + 1)寰幆鐨勩?br>銆銆鐒跺悗灝辨槸姹傛渶榪戠礌鏁扮殑闂?shù)簡(jiǎn)锛寴q欎釜娌℃湁濂藉姙娉曪紝鍙兘鏆村姏鏋氫婦銆傚浜庝竴涓暟n錛屽湪sqrt(n)鍒皀涔嬮棿瀛樺湪绱犳暟錛堟劅瑙夊簲璇ユ槸錛屼絾鏄笉浼?xì)璇佸Q夛紝鍥犳鏈澶氭灇涓緎qrt(n)嬈″氨鑳芥壘鍒拌В銆備絾鏄瘡嬈℃灇涓懼垽绱犵殑澶嶆潅搴﹁繕鏄痵qrt(n)錛屾誨鏉傚害榪樻槸姣旇緝楂橈紝鎴戝湪鏈湴璺戞暟鎹窇浜?縐掞紝浜や笂鍘昏秴鏃朵簡(jiǎn)錛圫POJ鐨勬椂闄?0縐掞紝榪欏眳鐒朵篃瓚呮椂錛屾暟鎹鍙樻侊級(jí)銆傛兂浜?jiǎn)寰堜箙涔熸病鏈変粈涔堟柊鐨勭畻娉曪紝鏃犲鍙兘鍦ㄥ垽绱犱笂涓嬬偣鍔熷か錛岀洿鎺ユ妸Miller-Rabin鎼炲嚭鏉ヤ簡(jiǎn)錛岄熷害鎻愰珮鍒頒簡(jiǎn)2縐掞紝浠嶇劧瓚呮椂銆傚悗鏉ュ張鍔犱簡(jiǎn)涓浜涘父鏁頒笂鐨勪紭鍖栵紝緇堜簬榪囦簡(jiǎn)銆?br>
銆愭葷粨銆?br>銆銆榪欎釜棰樼洰鍋氫簡(jiǎn)寰堥暱鏃墮棿錛屼竴鏂歸潰鏄棰樹(shù)笉娓咃紝閿欎簡(jiǎn)鍑犳錛涘彟涓鏂歸潰鏄浜嶴G鐨勭悊璁虹悊瑙g殑涓嶅閫忓交錛屾兂浜?jiǎn)寰堜箙缁堜簬鎯虫槑鐧戒簡(jiǎn)锛涘啀鏈墳鏄紭鍖柦帡娉曚篃鑺变簡(jiǎn)寰堥暱鏃堕棿銆備笉榪囬氳繃榪欎釜棰樼洰瀵逛簬SG鐞嗚鐨勭悊瑙e張榪涗簡(jiǎn)涓姝ワ紝鎰熻涓嶉敊錛屽懙鍛點(diǎn)?

娉細(xì)鏈枃浣滀簬2009騫?鏈?鏃?9鐐?7鍒?br>


sdfond 2010-02-06 09:04 鍙戣〃璇勮
]]>
UVa 3295 Counting Triangleshttp://www.shnenglu.com/sdfond/archive/2009/10/15/98712.htmlsdfondsdfondThu, 15 Oct 2009 11:54:00 GMThttp://www.shnenglu.com/sdfond/archive/2009/10/15/98712.htmlhttp://www.shnenglu.com/sdfond/comments/98712.htmlhttp://www.shnenglu.com/sdfond/archive/2009/10/15/98712.html#Feedback0http://www.shnenglu.com/sdfond/comments/commentRss/98712.htmlhttp://www.shnenglu.com/sdfond/services/trackbacks/98712.html銆愰鐩ぇ鎰忋?br>銆銆m * n鐨勫尯鍩熷唴錛屾瘡涓暣鏁板潗鏍囬兘鏈夋暣鐐癸紝闂互榪欎簺鏁寸偣涓虹鐐硅兘澶熷艦鎴愬灝戜釜涓夎褰€傦紙0 < m, n <= 1000錛?br>
銆愰鐩垎鏋愩?br>銆銆榪欎釜棰樼洰涔嶄竴鐪嬫尯綆鍗曠殑錛屼絾鏄兂鍋氬榪樻槸瑕佷粩緇嗙殑鎬濊冧笅鐨勩傝ˉ闆嗚漿鍖栫殑鎬濇兂錛屾眰鍑烘墍鏈夊叡綰跨殑涓夊厓緇勶紝鐒跺悗鐢ㄦ繪暟鍑忔帀灝辨槸絳旀浜?jiǎn)锛屽叧閿疄鏄浣曟眰鍏本U夸笁鍏冪粍銆倄鍧愭爣鐩稿悓鍜寉鍧愭爣鐩稿悓鐨勬瘮杈冨ソ璁$畻錛屽湪涓鏉℃枩綰跨殑灝變笉濂界畻浜?jiǎn)锛岀斨M釜鍥懼彂鐜幫紝鍗充嬌鏂滅巼鐩稿悓鐨勭嚎錛岀粡榪囩殑鏍肩偣鏁板彲鑳藉悇涓嶇浉鍚屻傛濊礬褰撶劧榪樻槸鏋氫婦y / x錛堜笉鍚岀殑y / x紜畾浜?jiǎn)涓嶅悓鐨勭煩迮炲尯鍩熷Q夛紝涔嬪悗濡備綍鏈夋晥鐨勮綆楋紝鎴戦噰鐢ㄧ殑鏂規(guī)硶鍙兘鏈変簺楹葷儲(chǔ)錛屾湁鐐圭被瀹規(guī)枼鐨勬柟娉曘備互鏂滅巼涓篴 / b涓轟緥錛?a, b) = g錛岄偅涔坢 * n鐨勫尯鍩熷唴涓瀹氭湁(m - a + 1) * (n - b + 1)涓偅涔堝ぇ鐨勭煩褰紝榪欐牱鐨勭煩褰㈢粡榪囩殑鏍肩偣鏁版槸(g + 1)錛涚劧鍚庡洜涓哄悓絳夋枩鐜囧皬涓鐐圭殑鐭╁艦(a - a / g, b - b / g)涔熸槸瀛樺湪鐨勶紝涓暟鍚屾牱鍙互緇熻鍑烘潵錛屼絾鏄湁浜涘ぇ鐭╁艦鍖呮嫭浜?jiǎn)锛岃鍘绘帀锛涘洜姝閲囩敤杩櫩U嶆濇兂錛屽厛姹傚嚭澶х煩褰㈢殑涓暟錛岀劧鍚庝緷嬈″線(xiàn)涓嬪噺錛屽氨鍙互閬垮厤閲嶅璁℃暟浜?jiǎn)銆傝櫧鐒惰繖鏍峰鏉傚害鏈夌偣楂橈紝涓嶈繃鏋侀檺鏁版嵁榪樻槸姣旇緝蹇殑璺戝嚭鏉ヤ簡(jiǎn)銆?br>銆銆璇寸殑鍙兘涓嶅お娓呮錛屽叿浣撲唬鐮佸涓嬶細(xì)
 1 #include <cstdio>
 2 #include <iostream>
 3 using namespace std;
 4 const int N = 1024;
 5 
 6 bool tag[N][N];
 7 long long calc(long long n)
 8 {
 9     if (n <= 2)
10         return 0;
11     return n * (n - 1* (n - 2/ 6;
12 }
13 int gcd(int a, int b)
14 {
15     return b == 0 ? a : gcd(b, a % b);
16 }
17 
18 int main()
19 {
20     int m, n, g, a, b, timer = 1, cnt[N], ta, tb;
21     long long ans;
22 
23     while (scanf("%d %d"&m, &n) == 2)
24     {
25         memset(tag, 0sizeof(tag));
26         if (m == 0 && n == 0)
27             break;
28         ans = calc((m + 1* (n + 1)) - calc(m + 1* (n + 1- calc(n + 1* (m + 1);
29         for (int i = m; i >= 1; i--)
30             for (int j = n; j >= 1; j--)
31             {
32                 g = gcd(i, j);
33                 a = i / g, b = j / g;
34                 if (tag[a][b])      continue;
35                 memset(cnt, 0sizeof(cnt));
36                 tag[a][b] = 1;
37                 a = i, b = j;
38                 ta = i / g, tb = j / g;
39                 for (int k = g; k >= 2; k--)
40                 {
41                     cnt[k] += (m - a + 1* (n - b + 1);
42                     ans -= calc(k + 1* cnt[k] * 2;
43                     for (int t = 1; t <= k - 2; t++)
44                         cnt[k-t] -= (t + 1* cnt[k];
45                     a -= ta, b -= tb;
46                 }
47             }
48         cout << "Case " << timer++ << "" << ans << endl;
49     }
50 
51     return 0;
52 }
53 


sdfond 2009-10-15 19:54 鍙戣〃璇勮
]]>
HOJ 1583http://www.shnenglu.com/sdfond/archive/2009/06/12/87466.htmlsdfondsdfondFri, 12 Jun 2009 03:15:00 GMThttp://www.shnenglu.com/sdfond/archive/2009/06/12/87466.htmlhttp://www.shnenglu.com/sdfond/comments/87466.htmlhttp://www.shnenglu.com/sdfond/archive/2009/06/12/87466.html#Feedback0http://www.shnenglu.com/sdfond/comments/commentRss/87466.htmlhttp://www.shnenglu.com/sdfond/services/trackbacks/87466.html銆銆棣栧厛鑰冭檻濡傛灉紜畾n錛屽綋n澶т簬1鐨勬椂鍊欙紝n ^ n鐨勪綅鏁版槸涓嶅悓鐨?n * logn)錛岃繖鏍鋒牴鎹緭鍏ョ殑闀垮害鍙互紜畾n銆備箣鍚庡氨瑕佽冭檻鎬庢牱媯(gè)嫻嬪嚭榪欎釜鏁版槸涓嶆槸姝g‘鐨勩傚洜涓哄彧鏈変竴浣嶅彲鑳芥湁鍙樻崲錛岄偅涔堝氨鏄湪鍘熸暟鐨勫熀紜涓婂浜?jiǎn)锛堟垨灏戜簡(jiǎn)锛?jí)涓涓猭 * 10 ^ i錛屽叾涓璳 = 1...9錛宨 = 0...n銆傝冨療榪欎釜鏁扮殑绱犲洜瀛愶紝鍙彲鑳芥槸2銆?銆?銆?錛岃繖鏍風(fēng)殑璇濆鏋滄垜鍙栦竴涓ā11錛屾樉鐒秌 * 10 ^ i妯?1鐨勫間竴瀹氫笉涓?錛岃繖鏍風(fēng)殑璇濆鏋滄湁涓浣嶅彂鐢熶簡(jiǎn)鍙樺寲錛屽畠妯?1鐨勭粨鏋滃拰n ^ n妯?1鐨勭粨鏋滆偗瀹氫笉鍚岋紝鏍規(guī)嵁榪欎釜鏂規(guī)硶鎴戝氨鍙互鍦∣(L)鐨勫鏉傚害鍐呮嫻嬪嚭榪欎釜鏁版槸鍚︽紜簡(jiǎn)錛孡鏄綅鏁般?br>銆銆瀹炵幇鐨勬椂鍊欐湁涓涓緢瀹規(guī)槗鍑洪敊鐨勫湴鏂廣傚洜涓洪渶瑕侀澶勭悊鍑烘瘡涓猲鐨刵嬈″箓鐨勪綅鏁幫紝姝e父鐨勮瘽n * logn鍚戜笂鍙栨暣灝辨槸絳旀錛屼絾鏄痭鏄?0鐨勬暣鏁板箓鐨勬椂鍊欐湁浜涚壒鍒紝鏄痭 * logn + 1錛岄渶瑕佸崟鐙鐞嗭紙鎴戞槸鍔犱簡(jiǎn)涓涓?e-2鍐嶅悜涓婂彇鏁達(dá)級(jí)錛屽洜涓鴻繖涓師鍥犻敊浜?jiǎn)涓嬈★紝榪樻湁涓嬈℃槸杈撳叆鐨勫瓧絎︿覆澶у皬寮灝忎簡(jiǎn)銆?br>闄勯鐩唬鐮侊細(xì)
#include <cstdio>
#include 
<cmath>
#include 
<algorithm>
using namespace std;
const int MOD = 11, N = 100001;

int d[N], m[N];
int power_mod(int a, int b)
{
    
int ret = 1, f = a;
    
while (b)
    
{
        
if (b & 1)
            ret 
= ret * f % MOD;
        f 
= f * f % MOD;
        b 
>>= 1;
    }

    
return ret;
}

void init()
{
    
int tmp;
    
for (int i = 2; i < N; i++)
    
{
        tmp 
= (int)(ceil(i * log(i) / log(10.0+ 1e-2+ 1e-1);
        d[i] 
= tmp;
        m[i] 
= power_mod(i % MOD, i);
    }

}


int main()
{
    
char str[N*5];
    
int T, p, len, tmp;

    init();
    scanf(
"%d"&T);
    
while (T--)
    
{
        scanf(
"%s", str);
        len 
= strlen(str);
        
if (len == 1 && str[0== '1')
        
{
            puts(
"1");
            
continue;
        }

        p 
= lower_bound(d, d + N, len) - d;
        tmp 
= 0;
        
for (int i = 0; i < len; i++)
        
{
            tmp 
= tmp * 10 + (str[i] - '0');
            tmp 
= tmp % MOD;
        }

        printf(
"%d\n", tmp == m[p] ? p : -1);
    }


    
return 0;
}



sdfond 2009-06-12 11:15 鍙戣〃璇勮
]]>
PKU 3696http://www.shnenglu.com/sdfond/archive/2009/06/10/87270.htmlsdfondsdfondWed, 10 Jun 2009 01:16:00 GMThttp://www.shnenglu.com/sdfond/archive/2009/06/10/87270.htmlhttp://www.shnenglu.com/sdfond/comments/87270.htmlhttp://www.shnenglu.com/sdfond/archive/2009/06/10/87270.html#Feedback0http://www.shnenglu.com/sdfond/comments/commentRss/87270.htmlhttp://www.shnenglu.com/sdfond/services/trackbacks/87270.html銆銆棰樼洰澶ф剰鏄粰瀹氫竴涓狶錛圠涓嶅ぇ浜?000000000錛夛紝姹傛渶灝忛暱搴︾殑鑳芥暣闄鐨勯兘鏄?鐨勬暟錛岃緭鍑洪暱搴︼紝濡傛灉娌℃湁杈撳嚭0銆傝闀垮害涓簄鐨勮瘽錛岄偅涔堣繖涓叏涓?鐨勬暟鍙互琛ㄧず鎴? + 80 + 800 + ...鏄竴涓瓑姣旀暟鍒楋紝鍙樻崲鍚庡緱鍒? * (10 ^ n - 1) / 9 = k * L銆傚鏋淟涓?鐨勫洜瀛愭暟涓嶅ぇ浜?涓紝閭d箞鍙互闄ゆ帀銆備箣鍚庣瓑寮忓彲浠ュ啓鎴?0 ^ n - 1 = 9 * k * L錛屼篃灝卞彲浠ヨ漿鎹㈡垚涓涓ā鏂圭▼錛?0 ^ n = 1 mod 9L銆傛牴鎹鎷夊畾鐞嗭紝涓瀹氳10鍜? * L浜掔礌鎵嶈兘鏈夎В錛岃繖鏍峰氨鍙互鍒ゅ畾鍑烘棤瑙g殑鎯呭喌浜?jiǎn)銆備箣鍚庣浉褰撲簬姹備竴涓師鏍癸紝姹傚嚭9L鐨勬鎷夊嚱鏁幫紝璁懼叾涓簆hi錛岄偅涔坣涓瀹氭槸phi鐨勭害鏁版墠鍙互婊¤凍鏉′歡錛屾灇涓緋hi鐨勭害鏁板氨鍙互浜?jiǎn)銆?br>銆銆榪欎釜棰樼洰鍙樻佺殑涓涓湴鏂瑰湪浜?L鍜宲hi閮藉彲鑳藉緢澶э紝int琛ㄧず涓嶄笅錛岃鐢╨ong long錛岃繖涔堝ぇ鐨勬ā綆鍗曠殑涔樻硶浼?xì)婧㈠嚭锛屼篃瑕佸啓鎴愪簩鍒嗙殑迮炲紡銆備腑闂存湁濂藉嚑涓湴鏂規(guī)垜閮界敤浜?jiǎn)int錛岀粨鏋滃鑷存孩鍑猴紝瓚呮椂浜?嬈°傛葷殑鏉ヨ榪欐槸涓緢濂界殑鏁拌棰樼洰錛屼互鍚庤繖縐嶉鐩簲璇ュ緇冧範(fàn)涓浜涖?img src ="http://www.shnenglu.com/sdfond/aggbug/87270.html" width = "1" height = "1" />

sdfond 2009-06-10 09:16 鍙戣〃璇勮
]]>
PKU 1305http://www.shnenglu.com/sdfond/archive/2009/06/09/87136.htmlsdfondsdfondTue, 09 Jun 2009 01:09:00 GMThttp://www.shnenglu.com/sdfond/archive/2009/06/09/87136.htmlhttp://www.shnenglu.com/sdfond/comments/87136.htmlhttp://www.shnenglu.com/sdfond/archive/2009/06/09/87136.html#Feedback0http://www.shnenglu.com/sdfond/comments/commentRss/87136.htmlhttp://www.shnenglu.com/sdfond/services/trackbacks/87136.html銆銆鏄釜緇忓吀闂?shù)簡(jiǎn)锛屾眰婊…懗a ^ 2 + b ^ 2 = c ^ 2涓攁銆乥銆乧涓や袱浜掕川鐨勪笁鍏冪粍涓暟錛屽叾涓璦銆乥銆乧閮藉皬浜庣瓑浜巒錛屽悓鏃惰繕瑕佹眰鍑簄浠ュ唴涓嶅睘浜庝笁鍏冪粍錛堜笉蹇呬簰璐級(jí)鐨勬暟鐨勪釜鏁幫紝鍏朵腑n <= 1000000銆?br />銆銆鏁版嵁鑼冨洿寰堝ぇ錛屽崟綰殑n ^ 2鐨勬灇涓捐偗瀹氭槸涓嶈鐨勩傛垜鍙戠幇浜掕川鐨勪笁鍏冪粍涓嶅錛屾兂鎵句竴涓姙娉曟眰鍑轟簰璐ㄧ殑錛岀劧鍚庣瓫鍑哄叾浠栫殑涓夊厓緇勶紙涔樹(shù)互鍊嶆暟錛夛紝浣嗘槸浠嶇劧鎯充笉鍑烘庢牱寰堝揩鎵懼埌浜掕川鐨勪笁鍏冪粍銆傚埌緗戜笂鏌ヤ簡(jiǎn)涓涓嬶紝鎵懼埌浜?jiǎn)涓涓緢濂界殑緗戠珯錛?a >http://xserve.math.nctu.edu.tw/people/cpai/carnival/fraction/05.htm錛夎瑙h繖涓棶棰樸?br />銆銆棣栧厛鍙渶鎵懼埌浜掕川鐨刟鍜宐灝卞彲浠ヤ簡(jiǎn)錛屽叾浣欑殑鍙互閫氳繃涔樹(shù)互涓瀹氱殑鍊嶆暟寰楀埌銆傞鍏坅鍜宐蹇呴』涓嶈兘閮芥槸濂囨暟錛屽惁鍒欑殑璇濓紝涓嶅Θ璁綼 = 2p + 1, b = 2q + 1, c = 2r銆傚甫鍏 ^ 2 + b ^ 2 = c ^ 2鏈夛細(xì)2 * (r ^ 2 - p ^ 2 - q ^ 2 - p - q) = 1錛屽嚭鐜頒簡(jiǎn)鐭涚浘銆傝繖鏍峰繀鐒禷鍜宐涓濂囦竴鍋訛紝璁綼鏄伓鏁般傛亽絳夊彉鎹竴涓嬶細(xì)錛堣繖閲屾槸x ^ 2 + y ^ 2 = z ^ 2錛寈鏄伓鏁幫級(jí)


銆銆浠 = (z - y) / 2錛寁 = (z + y) / 2銆傚洜涓簓銆亃浜掕川錛岄偅涔坲銆乿浜掕川銆傚鏋滀笉浜掕川錛屾湁v = ku錛屽彉鎹㈠悗寰楀埌錛歾 / y = (k + 1) / (k - 1)銆傚洜涓簔鍜寉浜掕川錛岃繖鏍瘋繖涓瓑寮忕殑瑙e彧鑳芥槸z = k + 1涓攜 = k - 1銆傝繖鏍風(fēng)殑璇漸 = 1銆傚彲浠ョ悊瑙d負(fù)榪欎篃鏄簰璐ㄧ殑鐗規(guī)畩鎯呭喌(gcd = 1)銆傝繖鏍?x / 2) ^ 2 = u * v錛寀鍜寁娌℃湁鍏叡鐨勮川鍥犳暟錛屽洜姝ゅ繀鐒秛鍜寁閮芥槸瀹屽叏騫蟲(chóng)柟鏁般傛帴涓嬫潵鐨勪簨鎯呭氨姣旇緝綆鍗曚簡(jiǎn)錛屼護(hù)u = m ^ 2錛寁 = n ^ 2錛岀劧鍚庡埄鐢╩鍜宯琛ㄧずx銆亂銆亃鏈夛細(xì)y = n ^ 2 - m ^ 2錛寈 = 2 * m * n錛寊 = n ^ 2 + m ^ 2銆傝繖鏍烽鐩腑鏁版嵁鑼冨洿1000000錛岃屾灇涓緈鍜宯鐨勮寖鍥存渶澶?000錛岃繖涓鏉傚害灝卞彲浠ユ帴鍙椾簡(jiǎn)銆傛灇涓劇殑鏃跺欎笉鐢ㄦ媴蹇?jī)鍑虹幇閲嶅鐨勪簰璐ㄧ殑x涓巠錛屽洜涓鴻繖閲寈涓瀹氭槸鍋舵暟錛屽鏋渪鍜寉宸茬粡浜掕川錛岄偅涔坹涓瀹氭槸濂囨暟錛岃В鏄敮涓鐨勩?br />銆銆寰堝洤鐨勬槸榪欎釜宸у鐨勬柟娉曞眳鐒跺叕鍏冨墠250騫村氨鏈夊ぇ鐗涙兂鍒頒簡(jiǎn)錛堜涪鐣浘錛夛紝瀹炲湪orz錛?

 



sdfond 2009-06-09 09:09 鍙戣〃璇勮
]]>
瀹岀編鏁伴棶棰?/title><link>http://www.shnenglu.com/sdfond/archive/2009/06/04/86778.html</link><dc:creator>sdfond</dc:creator><author>sdfond</author><pubDate>Thu, 04 Jun 2009 11:57:00 GMT</pubDate><guid>http://www.shnenglu.com/sdfond/archive/2009/06/04/86778.html</guid><wfw:comment>http://www.shnenglu.com/sdfond/comments/86778.html</wfw:comment><comments>http://www.shnenglu.com/sdfond/archive/2009/06/04/86778.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/sdfond/comments/commentRss/86778.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/sdfond/services/trackbacks/86778.html</trackback:ping><description><![CDATA[銆銆瀹氫箟涓涓鏁存暟n鐨勫嚱鏁癋(n)涓簄鐨勬瘡浣嶆暟鐨勪箻縐備竴涓暟鏄痝ood濡傛灉F(n)涓嶄負(fù)0騫朵笖n鑳芥暣闄(n)錛屼竴涓暟鏄畬緹庢暟褰撲笖浠呭綋n鏄痝ood騫朵笖n+1涔熸槸good銆傜幇鍦ㄩ棶涓涓暱搴︽槸k浣嶇殑鏁頒腑鏈夊灝戜釜瀹岀編鏁幫紝鍏朵腑k涓嶅ぇ浜?000000銆?br>銆銆涓嶅緱涓嶆壙璁よ繖鏄竴涓潪甯哥粡鍏哥殑閿葷偧鍒嗘瀽闂鑳藉姏鐨勯鐩傝n = a1a2...an錛屽洜涓篎(n)涓嶄負(fù)0錛屾墍浠 + 1 = a1a2...(an+1)銆傛牴鎹鐩剰鎬濓紝鎴戜滑鍙互鍒楀嚭絳夊紡錛歯 + 1 = q * (a1 * a2 * ... * (an + 1))錛屽張n = p * (a1 * a2 * ... * an)銆備護(hù)A = a1 * a2 ... * an-1錛屾暣鐞嗗墠闈㈢殑絳夊紡鍙互寰楀埌錛?q * an + q - an) * A = 1銆傚洜涓鴻繖閲岄潰閮芥槸鏁存暟錛屾樉鐒禔 = 1錛屼篃灝辨槸璇碼1錛宎2錛?..錛宎n-1閮芥槸1銆傞棶棰樹(shù)竴涓嬪瓙灝卞彉寰楃畝鍖栦簡(jiǎn)寰堝錛屾瘮璧蜂箣鍓嶇殑鍗曠函鏋氫婦鍙互璇存槸榪涗簡(jiǎn)涓澶ф銆備絾鏄鏋滄灇涓炬渶鍚庝竴浣嶅垽鏂槸涓嶆槸鍙澶嶆潅搴︿緷鐒跺緢楂橈紝闇瑕佽繘涓姝ヨ璁恒傞鍏坅n鏄?銆?銆?瀵瑰簲鐨勬暟閮芥槸good錛沘n涓?鐨勬椂鍊欙紝濡傛灉鏄痝ood蹇呴』鍓嶉潰n-1涓?鍔犲拰鏄?鐨勫嶆暟錛沘n涓?鐨勬椂鍊欓渶瑕佹渶鍚庝袱浣嶈4鏁撮櫎鎵嶈錛?4涓嶆弧瓚蟲(chóng)潯浠訛紱鍚岀悊an涓?鐨勬椂鍊欎篃蹇呴』鍓嶉潰n-1涓?鍔犲拰鏄?鐨勫嶆暟錛沘n涓?鐨勬椂鍊欓渶瑕佸悗涓変綅鐨勬暟琚?鏁撮櫎錛屾樉鐒朵篃涓嶅彲鑳斤紱緇忚繃涓鐣璁猴紝灝卞墿7榪欎釜鐗瑰埆鐨勬暟瀛椾簡(jiǎn)銆傜敤涓鍫?瀵?璇曢櫎涓涓嬪彂鐜頒竴涓寰嬶紝111111鎭板ソ鏁撮櫎7錛屽叚涓暟涓寰幆銆傝繖鏍峰彧闇鍒ゆ柇(an - 1)鏄惁鏁撮櫎6灝卞彲浠ヤ簡(jiǎn)銆?br>銆銆緇間笂鎵榪幫紝瀵逛簬涓涓猭浣嶇殑鏁板瓧錛屽鏋渒涓?錛岄偅涔堢粨鏋滄槸8銆傚鏋渒澶т簬1錛岀粨鏋滈鍏堟槸1錛屽鏋渒-1鑳借3鏁撮櫎錛岀粨鏋滃姞2錛涘鏋渒-1鑳借6鏁撮櫎錛岀粨鏋滃啀鍔?銆傝繖鏍稯(1)鐨勬椂闂村鏉傚害灝卞嚭緇撴灉浜?jiǎn)锛屼粩缁嗗垎鏋愰棶棰樺悗寰楀嚭鐨勫仛娉曠湡寮哄ぇ鍟娿?img src ="http://www.shnenglu.com/sdfond/aggbug/86778.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/sdfond/" target="_blank">sdfond</a> 2009-06-04 19:57 <a href="http://www.shnenglu.com/sdfond/archive/2009/06/04/86778.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>PKU 1811http://www.shnenglu.com/sdfond/archive/2009/04/03/78864.htmlsdfondsdfondFri, 03 Apr 2009 12:06:00 GMThttp://www.shnenglu.com/sdfond/archive/2009/04/03/78864.htmlhttp://www.shnenglu.com/sdfond/comments/78864.htmlhttp://www.shnenglu.com/sdfond/archive/2009/04/03/78864.html#Feedback0http://www.shnenglu.com/sdfond/comments/commentRss/78864.htmlhttp://www.shnenglu.com/sdfond/services/trackbacks/78864.html銆銆澶ф暣鏁扮殑蹇熻川鍥犲瓙鍒嗚В錛岀敤鍒皃ollard-rho鍚彂寮忕畻娉曘?br>銆銆綆楁硶瀵艱涓婁粙緇峱ollard-rho浠嬬粛寰楁瘮杈冭緇嗭紝鐢變簬灝忓洜瀛愮殑寰幆鑺傞暱搴﹀緢灝忥紝閫氳繃鍊嶅姝ラ暱錛宲ollard-rho鑳藉寰堝揩鐨勬壘鍒頒竴涓ぇ鏁存暟鐨勪竴涓緝?yōu)畯鐨勭礌鍥犲瓙p錛屼功涓澶嶆潅搴﹀湪O(sqrt(p))鍐咃紝鐢ㄧ殑浠涔堟鐜囩殑鍒嗘瀽鏂規(guī)硶錛屼笉鎳傘傚疄闄呬腑pollard-rho鐨勯熷害榪樻槸寰堝揩鐨勶紝褰撶劧鍙兘鍑虹幇姝誨驚鐜?br>銆銆榪欎釜棰樼洰瑕佸埄鐢╬ollard-rho鎵懼埌涓涓暟鐨勬渶灝忕礌鍥犲瓙錛屽洜姝よ繕闇瑕丮iller-Rabin嫻嬭瘯鏉ヨ緟鍔┿傚師鏉ュ啓鐨勯偅涓狹iller-Rabin寰堝揩鎸傛帀浜?jiǎn)锛屽洜湄?fù)娌℃湁鐢ㄥ埌浜屾鎺㈡祴錛屽垽涓嶅嚭鏉armichael鏁般傚鏋渪 ^ 2 = 1 (mod n)錛屽鏋渘鏄川鏁幫紝閭d箞x鍙兘鏄?鍜宯 - 1錛涗簩嬈℃帰嫻嬪氨鏄埄鐢ㄨ繖涓畾鐞嗘潵榪涜媯(gè)嫻嬨?br>銆銆POJ鐨勮鍧涢噷闈㈡洿鏈夌墰浜哄垪鍑轟簡(jiǎn)N澶欳armichael鏁幫紝鐪熶笉鐭ラ亾浠栨庝箞鎵懼埌鐨勩傛渶鍒濇庝箞涔熶笉鐭ラ亾浜屾鎺㈡祴鍔犲湪鍝噷濂斤紝鍚庢潵鍙傝冪綉涓婁竴浣嶅ぇ鐗涚殑浠g爜錛屽畠鐨勬柟娉曟槸璁$畻a ^ b % n鐨勬椂鍊欙紝鍏堝皢b鎶樺崐鍒頒竴涓鏁癰'涓烘錛岃綆梐 ^ b'錛岀劧鍚庡嶅b'錛屽悓鏃惰繘琛屼簩嬈℃嫻嬶紝鎯蟲(chóng)兂瑙夊緱寰堟湁閬撶悊錛屽洜涓哄鏋渪 ^ 2 = 1 mod n鎴愮珛鐨勮瘽錛岄偅涔?x ^ 2) ^ 2 = 1 mod n涔熸垚绔嬨?br>銆銆榪欎釜棰樼洰榪樻湁涓涓猼rick灝辨槸妯¤兘杈懼埌2 ^ 54錛屽鏋滆繖鏍瘋綆椾竴涓暟騫蟲(chóng)柟鐨勬椂鍊欙紝鍗充嬌long long涔熶細(xì)婧㈠嚭銆傚悗鏉ュ彂鐜板彲浠ョ敤蹇熷箓鍙栨ā鐨勬濇兂寮勪釜"蹇熺Н鍙栨ā"錛屽悓鏍峰皢b琛ㄧず鎴愪簩榪涘埗鐨勫艦寮忥紝鍊嶅鐨勫悓鏃跺姞鍒扮粨鏋滀笂灝辮浜?jiǎn)銆傝繖鏍鋒瘡嬈¤繍綆楃殑鏁拌寖鍥撮兘鍦? ^ 54浠ュ唴錛屽茍涓旈兘鏄姞鎿嶄綔錛屼笉浼?xì)婧㈠囖Z簡(jiǎn)銆?br>銆銆POJ涓婅繕鏈変竴涓敤pollard-rho鍋氱殑棰樻槸PKU 2429錛岃繖涓瘮Prime Test榪樻伓錛屽洜涓鴻繖涓鐩槸褰誨交搴曞簳榪涜factorization錛岃屼笖涔嬪悗榪樿鏋氫婦涓涓嬫壘鏈浼樿В錛屾諱箣鎴戠殑浠g爜闈炲父鐨勯暱錛岃屼笖榪欎釜棰樼洰鏁版嵁鑼冨洿2 ^ 63錛屽繀欏葷敤unsigned long long鎵嶈兘榪囥傛垜鐨勪唬鐮佷腑闂村嚭鐜頒簡(jiǎn)涓浜涘噺鎿嶄綔錛岄兘瑕佺壒孌婂鐞嗕竴涓嬨傛渶鍚庤繕鐘簡(jiǎn)涓綆綰ч敊璇紝鍑芥暟榪斿洖鍊煎啓閿欎簡(jiǎn)錛屾壘浜?jiǎn)濂藉嚑閬嶆墠鎵惧嚭鏉ャ?br>
闄凱KU 1811浠g爜錛?/p>
PKU 1811


sdfond 2009-04-03 20:06 鍙戣〃璇勮
]]>
HOJ 1377 - 綰︽暟闂http://www.shnenglu.com/sdfond/archive/2009/03/30/78412.htmlsdfondsdfondMon, 30 Mar 2009 13:44:00 GMThttp://www.shnenglu.com/sdfond/archive/2009/03/30/78412.htmlhttp://www.shnenglu.com/sdfond/comments/78412.htmlhttp://www.shnenglu.com/sdfond/archive/2009/03/30/78412.html#Feedback0http://www.shnenglu.com/sdfond/comments/commentRss/78412.htmlhttp://www.shnenglu.com/sdfond/services/trackbacks/78412.html榪欐槸涓涓粡鍏擱棶棰樹(shù)簡(jiǎn)錛屾垜涓鐩翠互涓轟細(xì)鏈夌粡鍏哥畻娉曪紝寮濮嬬殑鏃跺欎竴鐩村線(xiàn)璐績(jī)涓婃兂錛岀粨鏋渙wen緇欏嚭浜?jiǎn)鍙嶄緥銆傚悗鏉ョ粡榪囧悏澶х墰鐐規(guī)嫧錛屽洜涓簁 <= 10 ^ 15錛屽彲浠ユ牴鎹繖涓畾鐣岋紝鏈宸儏鍐祂鐨勭礌鍥犲瓙涔熶笉浼?xì)瓒厴q?3錛岃繖鏍峰氨鍙互鎼滅儲(chǔ)浜?jiǎn)锛?br>瀹炵幇鐨勬椂鍊欐垜涔熺姱浜?jiǎn)鍑犱釜灏忛敊锛屼竴涓槸鎶?0 ^ 15灝戞墦浜?jiǎn)涓涓?錛岃繕鏈変竴涓壀鏋濆繀欏誨姞錛氬鏋滃綋鍓嶇粨鏋滅殑綰︽暟涓暟涓篺錛岄偅涔堝鏋渘 % f涓嶄負(fù)0錛屽垯鍓帀錛屽洜涓虹害鏁頒釜鏁版槸浠ヤ箻縐殑鍏崇郴绱姞鐨勩?br>
 1 #include <cstdio>
 2 const int M = 14;
 3 const long long max = 1000000000000000LL;
 4 
 5 int p[M] = {2357111317192329313741}, k;
 6 long long ans;
 7 void solve(long long v, int factor, int pos)
 8 {
 9     if (factor >= k)
10     {
11         if (factor == k)    ans <?= v;
12         return;
13     }
14     if (k % factor) return;
15     if (pos == M)   return;
16     for (int i = 1; i <= 50; i++)
17     {
18         v *= p[pos];
19         if (v > max)    break;
20         solve(v, factor * (i + 1), pos + 1);
21     }
22 }
23 
24 int main()
25 {
26     while (scanf("%d"&k) == 1)
27     {
28         ans = max + 1;
29         solve(110);
30         if (ans > max)   printf("-1\n");
31         else             printf("%lld\n", ans);
32     }
33 
34     return 0;
35 }
36 


sdfond 2009-03-30 21:44 鍙戣〃璇勮
]]>
N錛佺殑鏈鏈綅闈為浂鏁?/title><link>http://www.shnenglu.com/sdfond/archive/2009/03/29/78298.html</link><dc:creator>sdfond</dc:creator><author>sdfond</author><pubDate>Sun, 29 Mar 2009 13:00:00 GMT</pubDate><guid>http://www.shnenglu.com/sdfond/archive/2009/03/29/78298.html</guid><wfw:comment>http://www.shnenglu.com/sdfond/comments/78298.html</wfw:comment><comments>http://www.shnenglu.com/sdfond/archive/2009/03/29/78298.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.shnenglu.com/sdfond/comments/commentRss/78298.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/sdfond/services/trackbacks/78298.html</trackback:ping><description><![CDATA[銆銆緇欏畾涓涓暟N錛圢 <= 10 ^ 1000錛夛紝濡備綍蹇熸眰寰桸錛佺殑鏈鏈綅闈為浂鏁版槸涓涓粡鍏哥殑闂銆備竴鐩翠互鏉ラ兘琚繖涓棶棰樺洶鎵幫紝浠婂ぉ浠旂粏鎯充簡(jiǎn)涓嬶紝緇堜簬緇欐兂閫氫簡(jiǎn)錛屽敖綆″彲鑳芥湁浜涚鎷欙紝鐜版妸鎯蟲(chóng)硶璁板綍浜庢銆?br>銆銆鍦∟寰堝皬鐨勬儏鍐典笅錛屾湁涓涓畝渚跨殑鏂規(guī)硶錛氭眰鍑?鍒癗涔嬮棿姣忎釜鏁扮殑2鐨勫洜瀛愭暟鍜?鐨勫洜瀛愭暟錛岃涓篎(2)鍜孎(5)錛屾樉鐒禙(2) >= F(5)銆傜敱浜庡湪鏈熬鍙湁2鍜?鐩鎬箻鎵嶈兘浜х敓0錛屽鏋滄垜浠妸2鍜?鎶涘幓錛岄偅涔堣偗瀹氫笉浼?xì)鏈?錛岃繖鏍峰氨鍙互涓杈逛箻?shù)竴杈規(guī)ā10錛岄槻姝㈡孩鍑恒傚墿涓嬬殑涓鍫?鍜?濡備綍澶勭悊鍛紵鍥犱負(fù)2鑲畾姣?澶氾紝鍥犳鏈鏈綅鑲畾鏄伓鏁幫紙0鐨勯樁涔樺拰1鐨勯樁涔橀櫎澶栵級(jí)銆傝屼竴涓伓鏁頒笉鍋滃湴涔?錛屾渶鏈綅鐨勮寰嬫槸錛? -> 4 -> 8 -> 6 -> 2 -> ...鍑虹幇浜?浣?寰幆錛岃繖鏍鋒垜浠厛鐢‵(2) - F(5)錛屼嬌寰椾竴閮ㄥ垎2鍜?鍖歸厤涓婏紝2 * 5 = 10錛屽鏈熬涓嶄駭鐢熷獎(jiǎng)鍝嶏紝鍓╀笅鐨?灝辨ā涓涓?錛屽墿鍑犲啀涔樺嚑嬈?灝卞彲浠ヤ簡(jiǎn)銆?br>銆銆浣嗘槸榪欎釜鏂規(guī)硶鍦∟闈炲父澶х殑鏃跺欒偗瀹氬氨涓嶈浜?jiǎn)锛屼絾鏄彲浠ュ埄鐢ㄦ墤煮@鐜繖涓濇兂緇х畫(huà)鍋氥傚鏋滅畻闃朵箻鐨勬椂鍊欒煩榪?鐨勫嶆暟錛岃G(n)涓鴻煩榪?鐨勫嶆暟鐨勬椂鍊欙紝浠?涔樺埌n鐨勬渶鏈潪闆朵綅錛屼篃灝辨槸鎶?鐨勫嶆暟褰?涔樸傚彲浠ュ彂鐜幫細(xì)<br>G(1) = 1, G(2) = 2, G(3) = 6, G(4) = 4, G(5) = 4, G(6) = 4, G(7) = 8, G(8) = 4, G(9) = 6, G(10) = 6, G(11) = 6, G(12) = 2, G(13) = 6...<br>銆銆鍙堝嚭鐜頒簡(jiǎn)寰幆錛屾瘡10涓暟寰幆涓嬈°傚浣曡綆桮(n)灝卞彉鐨勫緢綆鍗曪紝姹傚嚭n鐨勬渶鏈綅錛屽氨鐭ラ亾瀵瑰簲鐨凣(n)鏄灝戜簡(jiǎn)錛屽綋鐒墮渶瑕佺壒鍒 = 1鐨勬儏鍐點(diǎn)傜敱浜庢垜浠妸5鐨勫嶆暟鐨勬暟閮芥彁鍑烘潵浜?jiǎn)锛屾彁鍑烘潵鐨剺q欎簺鏁幫紙5銆?0銆?5銆?0銆?5銆?0...錛夋瘡涓櫎浠?鍚庡張緇勬垚浜?jiǎn)涓涓樁涔樺簭鍒楋紒闄ゅ畬5涓鍏辨彁鍑轟簡(jiǎn)n / 5涓?錛屾牴鎹箣鍓嶇殑鍒嗘瀽錛屾瘡涓?閮藉彲浠ユ嬁鍑轟竴涓?鍜屽畠閰嶅鐒跺悗鎶婂畠娑堝幓錛岃繖鏍蜂竴涓?灝辯浉褰撲簬灝戜竴涓?錛屾垜浠氨瑕佹妸鍘熸潵鐨勬暟涔樹(shù)互3涓?錛堟ā鍥涘驚鐜級(jí)銆傝繖鏍蜂竴鏉?鐨勪釜鏁板叾瀹炰篃鍙互妯″洓錛屾ā瀹屽洓涔嬪悗鍓﹌鐨勮瘽錛屽氨鍙互涔樹(shù)互k涓?錛屽氨鎶婃墍鏈夌殑5娑堝幓浜?jiǎn)銆傜幇鍦ㄦ葷粨涓涓嬶細(xì)瀵逛竴涓暟n鐨勯樁涔橈紝璁$畻瀹冪殑鏈熬闈為浂浣嶏紝鍏堣綆桮(n)錛岀浉褰撲簬闈?鐨勫嶆暟鐨勬暟鐨勪箻縐渶鏈潪闆朵綅鍏堢畻濂戒簡(jiǎn)錛岀劧鍚庝箻?shù)互n / 5 % 4涓?錛屽鐞嗕簡(jiǎn)鎻愬嚭鐨刵 / 5涓?錛岃繖鏍蜂箣鍚庤繕鍓╀笅n / 5鐨勯樁涔樻病鏈夌畻銆傞掑綊鐨勬眰瑙 / 5鐨勯樁涔樼殑鏈鏈綅闈為浂鏁幫紝鍐嶄箻?shù)笂鍘粸寰楀埌缁撴灉浜?jiǎn)銆?br>銆銆榪欎釜鍋氭硶鐨勫鏉傚害灝卞緢浣庝簡(jiǎn)錛岃揪鍒癘(log n)錛屽浜?0 ^ 1000鐨勬暟鎹紝鍒╃敤楂樼簿搴﹀仛灝辮浜?jiǎn)銆傚埄鐢ㄨ繖縐嶅驚鐜殑鎬濇兂錛岀畻鎺掑垪鏁癙(n, k)鐨勬渶鏈潪闆舵暟涔熷氨鍙互鍋氬埌浜?jiǎn)銆?br>闄凥OJ 1013浠g爜錛?br> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><span style="color: #008080;"> 1</span><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align="top"><span style="color: #000000;">#include </span><span style="color: #000000;"><</span><span style="color: #000000;">cstdio</span><span style="color: #000000;">></span><span style="color: #000000;"><br></span><span style="color: #008080;"> 2</span><span style="color: #000000;"><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align="top">#include </span><span style="color: #000000;"><</span><span style="color: #000000;">cstring</span><span style="color: #000000;">></span><span style="color: #000000;"><br></span><span style="color: #008080;"> 3</span><span style="color: #000000;"><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align="top"></span><span style="color: #0000ff;">const</span><span style="color: #000000;"> </span><span style="color: #0000ff;">int</span><span style="color: #000000;"> N </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">1024</span><span style="color: #000000;">;<br></span><span style="color: #008080;"> 4</span><span style="color: #000000;"><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align="top"><br></span><span style="color: #008080;"> 5</span><span style="color: #000000;"><img id="Codehighlighter1_73_102_Open_Image" onclick="this.style.display='none'; codehighlighter1_73_102_open_text.style.display=" none="" ;="" codehighlighter1_73_102_closed_image.style.display="'inline';" codehighlighter1_73_102_closed_text.style.display="'inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top"><img id="Codehighlighter1_73_102_Closed_Image" style="display: none;" onclick="this.style.display='none'; codehighlighter1_73_102_closed_text.style.display=" none="" ;="" codehighlighter1_73_102_open_image.style.display="'inline';" codehighlighter1_73_102_open_text.style.display="'inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedBlock.gif" align="top"></span><span style="color: #0000ff;">int</span><span style="color: #000000;"> hash[</span><span style="color: #000000;">10</span><span style="color: #000000;">] </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span id="Codehighlighter1_73_102_Closed_Text" style="border: 1px solid #808080; display: none; background-color: #ffffff;"><img src="http://www.shnenglu.com/Images/dot.gif"></span><span id="Codehighlighter1_73_102_Open_Text"><span style="color: #000000;">{</span><span style="color: #000000;">6</span><span style="color: #000000;">, </span><span style="color: #000000;">6</span><span style="color: #000000;">, </span><span style="color: #000000;">2</span><span style="color: #000000;">, </span><span style="color: #000000;">6</span><span style="color: #000000;">, </span><span style="color: #000000;">4</span><span style="color: #000000;">, </span><span style="color: #000000;">4</span><span style="color: #000000;">, </span><span style="color: #000000;">4</span><span style="color: #000000;">, </span><span style="color: #000000;">8</span><span style="color: #000000;">, </span><span style="color: #000000;">4</span><span style="color: #000000;">, </span><span style="color: #000000;">6</span><span style="color: #000000;">}</span></span><span style="color: #000000;">;<br></span><span style="color: #008080;"> 6</span><span style="color: #000000;"><img id="Codehighlighter1_130_159_Open_Image" onclick="this.style.display='none'; codehighlighter1_130_159_open_text.style.display=" none="" ;="" codehighlighter1_130_159_closed_image.style.display="'inline';" codehighlighter1_130_159_closed_text.style.display="'inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top"><img id="Codehighlighter1_130_159_Closed_Image" style="display: none;" onclick="this.style.display='none'; codehighlighter1_130_159_closed_text.style.display=" none="" ;="" codehighlighter1_130_159_open_image.style.display="'inline';" codehighlighter1_130_159_open_text.style.display="'inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedBlock.gif" align="top"></span><span style="color: #0000ff;">int</span><span style="color: #000000;"> one_digit_hash[</span><span style="color: #000000;">10</span><span style="color: #000000;">] </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span id="Codehighlighter1_130_159_Closed_Text" style="border: 1px solid #808080; display: none; background-color: #ffffff;"><img src="http://www.shnenglu.com/Images/dot.gif"></span><span id="Codehighlighter1_130_159_Open_Text"><span style="color: #000000;">{</span><span style="color: #000000;">1</span><span style="color: #000000;">, </span><span style="color: #000000;">1</span><span style="color: #000000;">, </span><span style="color: #000000;">2</span><span style="color: #000000;">, </span><span style="color: #000000;">6</span><span style="color: #000000;">, </span><span style="color: #000000;">4</span><span style="color: #000000;">, </span><span style="color: #000000;">2</span><span style="color: #000000;">, </span><span style="color: #000000;">2</span><span style="color: #000000;">, </span><span style="color: #000000;">4</span><span style="color: #000000;">, </span><span style="color: #000000;">2</span><span style="color: #000000;">, </span><span style="color: #000000;">8</span><span style="color: #000000;">}</span></span><span style="color: #000000;">;<br></span><span style="color: #008080;"> 7</span><span style="color: #000000;"><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align="top"><br></span><span style="color: #008080;"> 8</span><span style="color: #000000;"><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align="top"></span><span style="color: #0000ff;">int</span><span style="color: #000000;"> last_digit(</span><span style="color: #0000ff;">char</span><span style="color: #000000;"> str[N], </span><span style="color: #0000ff;">int</span><span style="color: #000000;"> st, </span><span style="color: #0000ff;">int</span><span style="color: #000000;"> to)<br></span><span style="color: #008080;"> 9</span><span style="color: #000000;"><img id="Codehighlighter1_207_712_Open_Image" onclick="this.style.display='none'; codehighlighter1_207_712_open_text.style.display=" none="" ;="" codehighlighter1_207_712_closed_image.style.display="'inline';" codehighlighter1_207_712_closed_text.style.display="'inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top"><img id="Codehighlighter1_207_712_Closed_Image" style="display: none;" onclick="this.style.display='none'; codehighlighter1_207_712_closed_text.style.display=" none="" ;="" codehighlighter1_207_712_open_image.style.display="'inline';" codehighlighter1_207_712_open_text.style.display="'inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedBlock.gif" align="top"></span><span id="Codehighlighter1_207_712_Closed_Text" style="border: 1px solid #808080; display: none; background-color: #ffffff;"><img src="http://www.shnenglu.com/Images/dot.gif"></span><span id="Codehighlighter1_207_712_Open_Text"><span style="color: #000000;">{<br></span><span style="color: #008080;">10</span><span style="color: #000000;"><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align="top">    </span><span style="color: #0000ff;">int</span><span style="color: #000000;"> i, tmp </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">0</span><span style="color: #000000;">, ret, num_of_five </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">0</span><span style="color: #000000;">;<br></span><span style="color: #008080;">11</span><span style="color: #000000;"><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align="top"><br></span><span style="color: #008080;">12</span><span style="color: #000000;"><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align="top">    </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> (st </span><span style="color: #000000;">==</span><span style="color: #000000;"> to)<br></span><span style="color: #008080;">13</span><span style="color: #000000;"><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align="top">        </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> one_digit_hash[str[st]</span><span style="color: #000000;">-</span><span style="color: #000000;">'</span><span style="color: #000000;">0</span><span style="color: #000000;">'</span><span style="color: #000000;">];<br></span><span style="color: #008080;">14</span><span style="color: #000000;"><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align="top"><br></span><span style="color: #008080;">15</span><span style="color: #000000;"><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align="top">    ret </span><span style="color: #000000;">=</span><span style="color: #000000;"> hash[str[to]</span><span style="color: #000000;">-</span><span style="color: #000000;">'</span><span style="color: #000000;">0</span><span style="color: #000000;">'</span><span style="color: #000000;">];<br></span><span style="color: #008080;">16</span><span style="color: #000000;"><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align="top">    </span><span style="color: #0000ff;">for</span><span style="color: #000000;"> (i </span><span style="color: #000000;">=</span><span style="color: #000000;"> st; i </span><span style="color: #000000;"><=</span><span style="color: #000000;"> to; i</span><span style="color: #000000;">++</span><span style="color: #000000;">)<br></span><span style="color: #008080;">17</span><span style="color: #000000;"><img id="Codehighlighter1_379_535_Open_Image" onclick="this.style.display='none'; codehighlighter1_379_535_open_text.style.display=" none="" ;="" codehighlighter1_379_535_closed_image.style.display="'inline';" codehighlighter1_379_535_closed_text.style.display="'inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"><img id="Codehighlighter1_379_535_Closed_Image" style="display: none;" onclick="this.style.display='none'; codehighlighter1_379_535_closed_text.style.display=" none="" ;="" codehighlighter1_379_535_open_image.style.display="'inline';" codehighlighter1_379_535_open_text.style.display="'inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top">    </span><span id="Codehighlighter1_379_535_Closed_Text" style="border: 1px solid #808080; display: none; background-color: #ffffff;"><img src="http://www.shnenglu.com/Images/dot.gif"></span><span id="Codehighlighter1_379_535_Open_Text"><span style="color: #000000;">{<br></span><span style="color: #008080;">18</span><span style="color: #000000;"><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align="top">        tmp </span><span style="color: #000000;">=</span><span style="color: #000000;"> tmp </span><span style="color: #000000;">*</span><span style="color: #000000;"> </span><span style="color: #000000;">10</span><span style="color: #000000;"> </span><span style="color: #000000;">+</span><span style="color: #000000;"> str[i] </span><span style="color: #000000;">-</span><span style="color: #000000;"> </span><span style="color: #000000;">'</span><span style="color: #000000;">0</span><span style="color: #000000;">'</span><span style="color: #000000;">;<br></span><span style="color: #008080;">19</span><span style="color: #000000;"><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align="top">        str[i] </span><span style="color: #000000;">=</span><span style="color: #000000;"> tmp </span><span style="color: #000000;">/</span><span style="color: #000000;"> </span><span style="color: #000000;">5</span><span style="color: #000000;"> </span><span style="color: #000000;">+</span><span style="color: #000000;"> </span><span style="color: #000000;">'</span><span style="color: #000000;">0</span><span style="color: #000000;">'</span><span style="color: #000000;">;<br></span><span style="color: #008080;">20</span><span style="color: #000000;"><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align="top">        tmp </span><span style="color: #000000;">%=</span><span style="color: #000000;"> </span><span style="color: #000000;">5</span><span style="color: #000000;">;<br></span><span style="color: #008080;">21</span><span style="color: #000000;"><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align="top">        num_of_five </span><span style="color: #000000;">=</span><span style="color: #000000;"> (num_of_five </span><span style="color: #000000;">*</span><span style="color: #000000;"> </span><span style="color: #000000;">10</span><span style="color: #000000;"> </span><span style="color: #000000;">+</span><span style="color: #000000;"> str[i] </span><span style="color: #000000;">-</span><span style="color: #000000;"> </span><span style="color: #000000;">'</span><span style="color: #000000;">0</span><span style="color: #000000;">'</span><span style="color: #000000;">) </span><span style="color: #000000;">%</span><span style="color: #000000;"> </span><span style="color: #000000;">4</span><span style="color: #000000;">;<br></span><span style="color: #008080;">22</span><span style="color: #000000;"><img src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top">    }</span></span><span style="color: #000000;"><br></span><span style="color: #008080;">23</span><span style="color: #000000;"><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align="top">    </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> (str[st] </span><span style="color: #000000;">==</span><span style="color: #000000;"> </span><span style="color: #000000;">'</span><span style="color: #000000;">0</span><span style="color: #000000;">'</span><span style="color: #000000;">)  st</span><span style="color: #000000;">++</span><span style="color: #000000;">;<br></span><span style="color: #008080;">24</span><span style="color: #000000;"><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align="top">    ret </span><span style="color: #000000;">=</span><span style="color: #000000;"> last_digit(str, st, to) </span><span style="color: #000000;">*</span><span style="color: #000000;"> ret </span><span style="color: #000000;">%</span><span style="color: #000000;"> </span><span style="color: #000000;">10</span><span style="color: #000000;">;<br></span><span style="color: #008080;">25</span><span style="color: #000000;"><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align="top">    </span><span style="color: #0000ff;">while</span><span style="color: #000000;"> (num_of_five</span><span style="color: #000000;">--</span><span style="color: #000000;">)   ret </span><span style="color: #000000;">=</span><span style="color: #000000;"> ret </span><span style="color: #000000;">*</span><span style="color: #000000;"> </span><span style="color: #000000;">8</span><span style="color: #000000;"> </span><span style="color: #000000;">%</span><span style="color: #000000;"> </span><span style="color: #000000;">10</span><span style="color: #000000;">;     </span><span style="color: #008000;">//</span><span style="color: #008000;">mul one 5 equals mul one 8</span><span style="color: #008000;"><br></span><span style="color: #008080;">26</span><span style="color: #008000;"><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align="top"></span><span style="color: #000000;"><br></span><span style="color: #008080;">27</span><span style="color: #000000;"><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align="top">    </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> ret;<br></span><span style="color: #008080;">28</span><span style="color: #000000;"><img src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top">}</span></span><span style="color: #000000;"><br></span><span style="color: #008080;">29</span><span style="color: #000000;"><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align="top"><br></span><span style="color: #008080;">30</span><span style="color: #000000;"><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align="top"></span><span style="color: #0000ff;">int</span><span style="color: #000000;"> main()<br></span><span style="color: #008080;">31</span><span style="color: #000000;"><img id="Codehighlighter1_726_857_Open_Image" onclick="this.style.display='none'; codehighlighter1_726_857_open_text.style.display=" none="" ;="" codehighlighter1_726_857_closed_image.style.display="'inline';" codehighlighter1_726_857_closed_text.style.display="'inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top"><img id="Codehighlighter1_726_857_Closed_Image" style="display: none;" onclick="this.style.display='none'; codehighlighter1_726_857_closed_text.style.display=" none="" ;="" codehighlighter1_726_857_open_image.style.display="'inline';" codehighlighter1_726_857_open_text.style.display="'inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedBlock.gif" align="top"></span><span id="Codehighlighter1_726_857_Closed_Text" style="border: 1px solid #808080; display: none; background-color: #ffffff;"><img src="http://www.shnenglu.com/Images/dot.gif"></span><span id="Codehighlighter1_726_857_Open_Text"><span style="color: #000000;">{<br></span><span style="color: #008080;">32</span><span style="color: #000000;"><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align="top">    </span><span style="color: #0000ff;">char</span><span style="color: #000000;"> str[N];<br></span><span style="color: #008080;">33</span><span style="color: #000000;"><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align="top"><br></span><span style="color: #008080;">34</span><span style="color: #000000;"><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align="top">    </span><span style="color: #0000ff;">while</span><span style="color: #000000;"> (scanf(</span><span style="color: #000000;">"</span><span style="color: #000000;">%s</span><span style="color: #000000;">"</span><span style="color: #000000;">, str) </span><span style="color: #000000;">==</span><span style="color: #000000;"> </span><span style="color: #000000;">1</span><span style="color: #000000;">)<br></span><span style="color: #008080;">35</span><span style="color: #000000;"><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align="top">        printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">%d\n</span><span style="color: #000000;">"</span><span style="color: #000000;">, last_digit(str, </span><span style="color: #000000;">0</span><span style="color: #000000;">, strlen(str) </span><span style="color: #000000;">-</span><span style="color: #000000;"> </span><span style="color: #000000;">1</span><span style="color: #000000;">));<br></span><span style="color: #008080;">36</span><span style="color: #000000;"><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align="top"><br></span><span style="color: #008080;">37</span><span style="color: #000000;"><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align="top">    </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> </span><span style="color: #000000;">0</span><span style="color: #000000;">;<br></span><span style="color: #008080;">38</span><span style="color: #000000;"><img src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top">}</span></span><span style="color: #000000;"><br></span><span style="color: #008080;">39</span><span style="color: #000000;"><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align="top"></span></div><img src ="http://www.shnenglu.com/sdfond/aggbug/78298.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/sdfond/" target="_blank">sdfond</a> 2009-03-29 21:00 <a href="http://www.shnenglu.com/sdfond/archive/2009/03/29/78298.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>涓鐐規(guī)濊礬http://www.shnenglu.com/sdfond/archive/2009/03/28/78142.htmlsdfondsdfondSat, 28 Mar 2009 07:02:00 GMThttp://www.shnenglu.com/sdfond/archive/2009/03/28/78142.htmlhttp://www.shnenglu.com/sdfond/comments/78142.htmlhttp://www.shnenglu.com/sdfond/archive/2009/03/28/78142.html#Feedback0http://www.shnenglu.com/sdfond/comments/commentRss/78142.htmlhttp://www.shnenglu.com/sdfond/services/trackbacks/78142.html鏈榪戝張鐮旂┒浜?jiǎn)绾挎х瓫绱犳暟鏂規(guī)硶鐨勬墿灞曪紝鐨勭‘闈炲父寮哄ぇ銆?br>緇忓吀鐨勫簲鐢ㄦ槸綰挎ф椂闂寸瓫嬈ф媺鍑芥暟鍜屾眰綰︽暟涓暟銆傛垜鎯充簡(jiǎn)涓涓嬬嚎鎬ф椂闂寸瓫綰︽暟鍜?縐у嚱鏁?錛屼篃鏄彲琛岀殑銆?br>瀵逛簬涓涓ぇ浜?鐨勬暟n錛屽彲浠ュ啓鎴恜1 ^ a1 * p2 ^ a2 * ... * pn ^ an錛岄偅涔坣鐨勭害鏁板拰灝辨槸(p1 ^ 0 + p1 ^ 1 + ... p1 ^ a1) * ... * (pn ^ 0 + ... + pn ^ an)錛岀敱姝ゅ氨鍙互鏈夐掓帹鍏崇郴浜?jiǎn)锛?xì)
璁緁[i]琛ㄧずi鐨勭害鏁板拰錛宔[i]琛ㄧずi鐨勬渶灝忕礌鍥犲瓙涓暟錛宼[i]琛ㄧず(p1 ^ 0 + .. + p1 ^ a1)錛宲1鏄痶鐨勬渶灝忕礌鍥犲瓙錛宎1鏄痯1鐨勫箓嬈★紝榪欐牱瀵逛簬i * p[j]錛屽鏋減[j]涓嶆槸i鐨勫洜瀛愶紝閭d箞鏍規(guī)嵁縐ф潯浠訛紝f[i*p[j]] = f[i] * (1 + p[j])錛宔[i] = 1錛宼[i] = 1 + p[j]錛涘鏋減[j]鏄痠鐨勫洜瀛愶紝閭d箞鐩稿綋浜巘[i]澶氫簡(jiǎn)涓欏筽1 ^ (a1 + 1)錛岄鍏坋[i]++錛岀劧鍚巘mp = t[i]錛宼[i] += p[j] ^ e[i]錛宖[i*p[j]] = f[i] / tmp * t[i]銆傝繖鏍蜂篃灝卞仛鍒頒簡(jiǎn)O(1)鐨勬椂闂磋綆楀嚭浜?jiǎn)f[i*p[j]]鍚屾椂涔熻綆楀嚭浜?jiǎn)闄勫姞淇℃伅銆?br>
榪欑鏂規(guī)硶榪樺彲浠ョ戶(hù)緇帹騫匡紝渚嬪鍙互璁板綍i鐨勬渶灝忕礌鍥犲瓙錛岃繖鏍峰氨鍙互鍋氬埌O(log n)鏃墮棿鐨勭礌鍥犲瓙鍒嗚В銆?/p>

sdfond 2009-03-28 15:02 鍙戣〃璇勮
]]>
TJU 3027 妯$嚎鎬ф柟紼嬬粍http://www.shnenglu.com/sdfond/archive/2009/03/22/77459.htmlsdfondsdfondSun, 22 Mar 2009 01:51:00 GMThttp://www.shnenglu.com/sdfond/archive/2009/03/22/77459.htmlhttp://www.shnenglu.com/sdfond/comments/77459.htmlhttp://www.shnenglu.com/sdfond/archive/2009/03/22/77459.html#Feedback0http://www.shnenglu.com/sdfond/comments/commentRss/77459.htmlhttp://www.shnenglu.com/sdfond/services/trackbacks/77459.html
TJU 3027


sdfond 2009-03-22 09:51 鍙戣〃璇勮
]]>
HOJ 1356 鈥斺?Miller Rabin嫻嬭瘯http://www.shnenglu.com/sdfond/archive/2009/03/18/77069.htmlsdfondsdfondWed, 18 Mar 2009 13:15:00 GMThttp://www.shnenglu.com/sdfond/archive/2009/03/18/77069.htmlhttp://www.shnenglu.com/sdfond/comments/77069.htmlhttp://www.shnenglu.com/sdfond/archive/2009/03/18/77069.html#Feedback0http://www.shnenglu.com/sdfond/comments/commentRss/77069.htmlhttp://www.shnenglu.com/sdfond/services/trackbacks/77069.htmlMiller-Rabin鍩轟簬璐歸┈灝忓畾鐞嗭細(xì)濡傛灉(a, p) = 1錛岄偅涔坅 ^ (p - 1) = 1 mod p銆傛弧瓚寵繖涓ц川鐨刾鍙吉绱犳暟錛屽鏋滀竴涓暟鏄吉绱犳暟錛岄偅涔堝畠鏈夊緢澶у彲鑳芥槸绱犳暟銆傞氳繃澶氭鐨勬灇涓綼錛屽埄鐢ㄥ揩閫熷箓鍙栨ā鍒ゆ柇錛屽氨鍙互鐭ラ亾p鏄笉鏄礌鏁幫紝Miller-Rabin嫻嬭瘯鐨勬垚鍔熺巼鍦?/4銆?br>璐歸┈灝忓畾鐞嗘槸璇ュ畾鐞嗙殑鐗規(guī)畩褰㈠紡錛氬鏋減鏄礌鏁幫紝閭d箞瀵逛簬浠繪剰鏁存暟a錛歛 ^ p = a mod p銆傝繖涓畾鐞嗗彲浠ョ敤褰掔撼娉曡瘉鏄庯紝璇佹槑渚濇嵁榪欐牱涓涓簨瀹烇細(xì)緇勫悎鏁癈(n, k)鏄竴涓暣鏁幫紝濡傛灉n鏄礌鏁幫紝閭d箞n鍜宬!銆?n - k)!鐨勬瘡涓欏歸兘浜掔礌錛屽彲浠ユ彁鍑簄錛屼篃灝辨槸C(n, k) / n涔熸槸鏁存暟錛屾墍浠 | C(n, k)銆?br>榪欎釜棰樼洰鐨勪唬鐮佸涓嬶細(xì)
#include <cstdio>
#include 
<stdlib.h>
const int MAX = 4, N = 1000000;

long long PowerMod(long long a, long long b, long long k)
{
    
long long ret = 1, f = a;

    
while (b)
    
{
        
if (b & 1)
            ret 
= ret * f % k;
        f 
= f * f % k;
        b 
>>= 1;
    }

    
return ret;
}

bool MillerRabin(long long n)
{
    
int i;
    
long long tmp;

    srand(
100);
    
for (i = 0; i < MAX; i++)
    
{
        tmp 
= rand() % (n - 1+ 1;
        
if (PowerMod(tmp, n - 1, n) != 1)
            
break;
    }

    
return (i == MAX);
}


int main()
{
    
long long n, i, j;
    
bool tag[N] = {110};

    
for (i = 2; i * i < N; i++)
    
{
        
if (tag[i]) continue;
        
for (j = i; j * i < N; j++)
            tag[j
*i] = 1;
    }

    
while (scanf("%lld"&n) == 1)
    
{
        
if (n < N)
            printf(
"%s\n", tag[n] ? "NO" : "YES");
        
else
            printf(
"%s\n", ((n & 1== 0|| !MillerRabin(n) ? "NO" : "YES");
    }


    
return 0;
}



sdfond 2009-03-18 21:15 鍙戣〃璇勮
]]>
NKU 1026 鈥斺旀ā綰挎ф柟紼?/title><link>http://www.shnenglu.com/sdfond/archive/2009/03/17/76905.html</link><dc:creator>sdfond</dc:creator><author>sdfond</author><pubDate>Tue, 17 Mar 2009 12:16:00 GMT</pubDate><guid>http://www.shnenglu.com/sdfond/archive/2009/03/17/76905.html</guid><wfw:comment>http://www.shnenglu.com/sdfond/comments/76905.html</wfw:comment><comments>http://www.shnenglu.com/sdfond/archive/2009/03/17/76905.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/sdfond/comments/commentRss/76905.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/sdfond/services/trackbacks/76905.html</trackback:ping><description><![CDATA[<p>涔熸槸寰堣丹瑁歌8鐨勬ā鍨嬶紝榪欓噷姹傜殑鏄粷瀵瑰兼渶灝忚В錛岃繕鏈夊氨鏄敤鍒伴珮綺俱傛垜鐢╦ava涓嶄細(xì)鍐欎紶寮曠敤錛屽洜姝ゅ彧濂藉紑浜?jiǎn)鍏ㄥ眬鍙橀噺銆?/p> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> java.math.</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> java.util.</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000"> Main<br><img id=Codehighlighter1_59_1147_Open_Image onclick="this.style.display='none'; Codehighlighter1_59_1147_Open_Text.style.display='none'; Codehighlighter1_59_1147_Closed_Image.style.display='inline'; Codehighlighter1_59_1147_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_59_1147_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_59_1147_Closed_Text.style.display='none'; Codehighlighter1_59_1147_Open_Image.style.display='inline'; Codehighlighter1_59_1147_Open_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_59_1147_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_59_1147_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>  </span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> BigInteger x </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">null</span><span style="COLOR: #000000">, y </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">null</span><span style="COLOR: #000000">;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    <br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>  </span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> BigInteger extended_gcd(BigInteger a, BigInteger b)<br><img id=Codehighlighter1_173_492_Open_Image onclick="this.style.display='none'; Codehighlighter1_173_492_Open_Text.style.display='none'; Codehighlighter1_173_492_Closed_Image.style.display='inline'; Codehighlighter1_173_492_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_173_492_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_173_492_Closed_Text.style.display='none'; Codehighlighter1_173_492_Open_Image.style.display='inline'; Codehighlighter1_173_492_Open_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>  </span><span id=Codehighlighter1_173_492_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_173_492_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>      BigInteger zero </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> BigInteger(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> String(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">));<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>      BigInteger ret, tmp;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>      <br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>      </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> (b.compareTo(zero) </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)<br><img id=Codehighlighter1_291_365_Open_Image onclick="this.style.display='none'; Codehighlighter1_291_365_Open_Text.style.display='none'; Codehighlighter1_291_365_Closed_Image.style.display='inline'; Codehighlighter1_291_365_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_291_365_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_291_365_Closed_Text.style.display='none'; Codehighlighter1_291_365_Open_Image.style.display='inline'; Codehighlighter1_291_365_Open_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>      </span><span id=Codehighlighter1_291_365_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_291_365_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>          x </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> BigInteger(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> String(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">));<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>          y </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> zero;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>          </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> a;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>      }</span></span><span style="COLOR: #000000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>      ret </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> extended_gcd(b, a.mod(b));<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>      tmp </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> x;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>      x </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> y;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>      y </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> tmp.subtract(a.divide(b).multiply(y));<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>      <br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>      </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> ret;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>  }</span></span><span style="COLOR: #000000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>  <br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>  </span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> BigInteger modular_linear_equation(BigInteger a, BigInteger b, BigInteger n)<br><img id=Codehighlighter1_585_792_Open_Image onclick="this.style.display='none'; Codehighlighter1_585_792_Open_Text.style.display='none'; Codehighlighter1_585_792_Closed_Image.style.display='inline'; Codehighlighter1_585_792_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_585_792_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_585_792_Closed_Text.style.display='none'; Codehighlighter1_585_792_Open_Image.style.display='inline'; Codehighlighter1_585_792_Open_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>  </span><span id=Codehighlighter1_585_792_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_585_792_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>      BigInteger e, e2;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>      BigInteger d </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> extended_gcd(a, n);<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>      e </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> b.divide(d).multiply(x).mod(n.divide(d));<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>      e2 </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> e.subtract(n.divide(d)).abs();<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>      <br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>      </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> (e.compareTo(e2) </span><span style="COLOR: #000000"><</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)    </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> e;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>      </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> e2;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>  }</span></span><span style="COLOR: #000000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>  <br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>  </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> main(String[] args)<br><img id=Codehighlighter1_840_1145_Open_Image onclick="this.style.display='none'; Codehighlighter1_840_1145_Open_Text.style.display='none'; Codehighlighter1_840_1145_Closed_Image.style.display='inline'; Codehighlighter1_840_1145_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_840_1145_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_840_1145_Closed_Text.style.display='none'; Codehighlighter1_840_1145_Open_Image.style.display='inline'; Codehighlighter1_840_1145_Open_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>  </span><span id=Codehighlighter1_840_1145_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_840_1145_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>      BigInteger a, b, c;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>      Scanner in </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> Scanner(System.in);<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    <br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>      </span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000"> (in.hasNext())<br><img id=Codehighlighter1_937_1141_Open_Image onclick="this.style.display='none'; Codehighlighter1_937_1141_Open_Text.style.display='none'; Codehighlighter1_937_1141_Closed_Image.style.display='inline'; Codehighlighter1_937_1141_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_937_1141_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_937_1141_Closed_Text.style.display='none'; Codehighlighter1_937_1141_Open_Image.style.display='inline'; Codehighlighter1_937_1141_Open_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>      </span><span id=Codehighlighter1_937_1141_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_937_1141_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>          a </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> in.nextBigInteger();<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>          b </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> in.nextBigInteger();<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>          c </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> in.nextBigInteger();<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>          c </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> c.multiply(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> BigInteger(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> String(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">-1</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)));<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>          System.out.println(modular_linear_equation(a, c, b));<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>      }</span></span><span style="COLOR: #000000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>  }</span></span><span style="COLOR: #000000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span></div> <img src ="http://www.shnenglu.com/sdfond/aggbug/76905.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/sdfond/" target="_blank">sdfond</a> 2009-03-17 20:16 <a href="http://www.shnenglu.com/sdfond/archive/2009/03/17/76905.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>POJ 2115 鈥斺?妯$嚎鎬ф柟紼?/title><link>http://www.shnenglu.com/sdfond/archive/2009/03/17/76893.html</link><dc:creator>sdfond</dc:creator><author>sdfond</author><pubDate>Tue, 17 Mar 2009 10:53:00 GMT</pubDate><guid>http://www.shnenglu.com/sdfond/archive/2009/03/17/76893.html</guid><wfw:comment>http://www.shnenglu.com/sdfond/comments/76893.html</wfw:comment><comments>http://www.shnenglu.com/sdfond/archive/2009/03/17/76893.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.shnenglu.com/sdfond/comments/commentRss/76893.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/sdfond/services/trackbacks/76893.html</trackback:ping><description><![CDATA[鏈鍚庡寲鎴恈 * x = b - a mod (2 ^ k)錛岃В榪欎釜妯$嚎鎬ф柟紼嬶紝杈撳嚭鏈灝忔瑙e嵆鍙?br>鍐欑▼搴忕殑鏃跺欐湁浜?jiǎn)涓涓鍖猴紝浠ヤ負(fù)濡傛灉b - a鏄礋鐨勶紝鎶婂畠鍖栨垚姝g殑璇濋偅涔堣緭鍑虹殑鏃跺欏氨鍙互鐩存帴妯? ^ k錛屼笉鐢ㄥ啀鑰冭檻鏄礋鐨勬儏鍐典簡(jiǎn)銆備絾鏄拷鐣ヤ簡(jiǎn)x鍙兘涓鴻礋鐨勬儏鍐碉紝鎵浠A浜?jiǎn)寰堝娆°傚叾瀹炴牴鏈笉闇鑰冭檻b - a鐨勬璐熸э紝鏈鍚庤緭鍑虹殑鏃跺欏姞2 ^ k鍐嶆ā2 ^ k灝辮浜?jiǎn)銆?br>榪樻湁涓涓槸杈撳嚭鏈灝忚В錛屽洜涓烘渶鍚庣殑鎵鏈夎В妯 / d鍚屼綑錛屽洜姝ょ洿鎺ユān / d鍗沖彲銆?br> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">#include </span><span style="COLOR: #000000"><</span><span style="COLOR: #000000">cstdio</span><span style="COLOR: #000000">></span><span style="COLOR: #000000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">ax + by = gcd(a, b)</span><span style="COLOR: #008000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000"> extended_gcd(</span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000"> a, </span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000"> b, </span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">x, </span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">y)<br><img id=Codehighlighter1_118_313_Open_Image onclick="this.style.display='none'; Codehighlighter1_118_313_Open_Text.style.display='none'; Codehighlighter1_118_313_Closed_Image.style.display='inline'; Codehighlighter1_118_313_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_118_313_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_118_313_Closed_Text.style.display='none'; Codehighlighter1_118_313_Open_Image.style.display='inline'; Codehighlighter1_118_313_Open_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_118_313_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_118_313_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    </span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000"> ret, tmp;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> (</span><span style="COLOR: #000000">!</span><span style="COLOR: #000000">b)<br><img id=Codehighlighter1_160_206_Open_Image onclick="this.style.display='none'; Codehighlighter1_160_206_Open_Text.style.display='none'; Codehighlighter1_160_206_Closed_Image.style.display='inline'; Codehighlighter1_160_206_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_160_206_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_160_206_Closed_Text.style.display='none'; Codehighlighter1_160_206_Open_Image.style.display='inline'; Codehighlighter1_160_206_Open_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>    </span><span id=Codehighlighter1_160_206_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_160_206_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>        x </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">, y </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>        </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> a;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>    }</span></span><span style="COLOR: #000000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    ret </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> extended_gcd(b, a </span><span style="COLOR: #000000">%</span><span style="COLOR: #000000"> b, x, y);<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    tmp </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> x;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    x </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> y;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    y </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> tmp </span><span style="COLOR: #000000">-</span><span style="COLOR: #000000"> a </span><span style="COLOR: #000000">/</span><span style="COLOR: #000000"> b </span><span style="COLOR: #000000">*</span><span style="COLOR: #000000"> y;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> ret;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">ax = b mod n</span><span style="COLOR: #008000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000"> modular_linear_equation(</span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000"> a, </span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000"> b, </span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000"> n)<br><img id=Codehighlighter1_404_551_Open_Image onclick="this.style.display='none'; Codehighlighter1_404_551_Open_Text.style.display='none'; Codehighlighter1_404_551_Closed_Image.style.display='inline'; Codehighlighter1_404_551_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_404_551_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_404_551_Closed_Text.style.display='none'; Codehighlighter1_404_551_Open_Image.style.display='inline'; Codehighlighter1_404_551_Open_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_404_551_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_404_551_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    </span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000"> x, y, e;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    </span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000"> d </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> extended_gcd(a, n, x, y);<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> (b </span><span style="COLOR: #000000">%</span><span style="COLOR: #000000"> d)  </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    e </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> b </span><span style="COLOR: #000000">/</span><span style="COLOR: #000000"> d </span><span style="COLOR: #000000">*</span><span style="COLOR: #000000"> x </span><span style="COLOR: #000000">%</span><span style="COLOR: #000000"> n </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> n;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> e </span><span style="COLOR: #000000">%</span><span style="COLOR: #000000"> (n </span><span style="COLOR: #000000">/</span><span style="COLOR: #000000"> d);<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> main()<br><img id=Codehighlighter1_565_923_Open_Image onclick="this.style.display='none'; Codehighlighter1_565_923_Open_Text.style.display='none'; Codehighlighter1_565_923_Closed_Image.style.display='inline'; Codehighlighter1_565_923_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_565_923_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_565_923_Closed_Text.style.display='none'; Codehighlighter1_565_923_Open_Image.style.display='inline'; Codehighlighter1_565_923_Open_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_565_923_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_565_923_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    </span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000"> a, b, c, ans;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> k;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    </span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000"> (scanf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%lld %lld %lld %d</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">a, </span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">b, </span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">c, </span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">k) </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">4</span><span style="COLOR: #000000">)<br><img id=Codehighlighter1_671_906_Open_Image onclick="this.style.display='none'; Codehighlighter1_671_906_Open_Text.style.display='none'; Codehighlighter1_671_906_Closed_Image.style.display='inline'; Codehighlighter1_671_906_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_671_906_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_671_906_Closed_Text.style.display='none'; Codehighlighter1_671_906_Open_Image.style.display='inline'; Codehighlighter1_671_906_Open_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>    </span><span id=Codehighlighter1_671_906_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_671_906_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>        </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> (a </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">&&</span><span style="COLOR: #000000"> b </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">&&</span><span style="COLOR: #000000"> c </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">&&</span><span style="COLOR: #000000"> k </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>            </span><span style="COLOR: #0000ff">break</span><span style="COLOR: #000000">;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>        ans </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> modular_linear_equation(c, b </span><span style="COLOR: #000000">-</span><span style="COLOR: #000000"> a, 1LL </span><span style="COLOR: #000000"><<</span><span style="COLOR: #000000"> k);<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>        </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> (ans </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">)<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>            puts(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">FOREVER</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>        </span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>            printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%lld\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">, ans);<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>    }</span></span><span style="COLOR: #000000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span></div> <img src ="http://www.shnenglu.com/sdfond/aggbug/76893.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/sdfond/" target="_blank">sdfond</a> 2009-03-17 18:53 <a href="http://www.shnenglu.com/sdfond/archive/2009/03/17/76893.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>絳涙硶姹傜礌鏁?/title><link>http://www.shnenglu.com/sdfond/archive/2009/03/16/76775.html</link><dc:creator>sdfond</dc:creator><author>sdfond</author><pubDate>Mon, 16 Mar 2009 13:29:00 GMT</pubDate><guid>http://www.shnenglu.com/sdfond/archive/2009/03/16/76775.html</guid><wfw:comment>http://www.shnenglu.com/sdfond/comments/76775.html</wfw:comment><comments>http://www.shnenglu.com/sdfond/archive/2009/03/16/76775.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.shnenglu.com/sdfond/comments/commentRss/76775.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/sdfond/services/trackbacks/76775.html</trackback:ping><description><![CDATA[榪欎釜鏄粡鍏哥殑Eraosthenes絳涙硶錛?br /> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><span style="color: #0000ff">for</span><span style="color: #000000"> (</span><span style="color: #0000ff">int</span><span style="color: #000000"> i </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">2</span><span style="color: #000000">; i </span><span style="color: #000000">*</span><span style="color: #000000"> i </span><span style="color: #000000"><</span><span style="color: #000000"> N; i</span><span style="color: #000000">++</span><span style="color: #000000">)<br />{<br />    </span><span style="color: #0000ff">if</span><span style="color: #000000"> (tag[i]) </span><span style="color: #0000ff">continue</span><span style="color: #000000">;<br />    </span><span style="color: #0000ff">for</span><span style="color: #000000"> (</span><span style="color: #0000ff">int</span><span style="color: #000000"> j </span><span style="color: #000000">=</span><span style="color: #000000"> i; i </span><span style="color: #000000">*</span><span style="color: #000000"> j </span><span style="color: #000000"><</span><span style="color: #000000"> N; j</span><span style="color: #000000">++</span><span style="color: #000000">)<br />        tag[i</span><span style="color: #000000">*</span><span style="color: #000000">j] </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">1</span><span style="color: #000000">;<br />}<br /></span><span style="color: #0000ff">for</span><span style="color: #000000"> (</span><span style="color: #0000ff">int</span><span style="color: #000000"> i </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">2</span><span style="color: #000000">; i </span><span style="color: #000000"><</span><span style="color: #000000"> N; i</span><span style="color: #000000">++</span><span style="color: #000000">)<br />    </span><span style="color: #0000ff">if</span><span style="color: #000000"> (</span><span style="color: #000000">!</span><span style="color: #000000">tag[i])<br />        prime[tol</span><span style="color: #000000">++</span><span style="color: #000000">] </span><span style="color: #000000">=</span><span style="color: #000000"> i;<br /></span></div> <br />浣嗘槸Eraosthenes絳涙硶鐨勯熷害騫朵笉蹇紝鍘熷洜鍦ㄤ簬瀵逛簬涓涓悎鏁幫紝榪欑鏂規(guī)硶浼?xì)閲嶅鐨勬爣璁般備竴縐嶇嚎鎬х瓫绱犳暟鐨勬柟娉曟湁鏁堢殑瑙e喅浜?jiǎn)杩欎竴鐐癸紝浠g爜濡備笅錛?br /> <div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #0000ff">void</span><span style="color: #000000"> get_prime()<br />{<br />    </span><span style="color: #0000ff">int</span><span style="color: #000000"> cnt </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">0</span><span style="color: #000000">;<br />    </span><span style="color: #0000ff">for</span><span style="color: #000000"> (</span><span style="color: #0000ff">int</span><span style="color: #000000"> i </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">2</span><span style="color: #000000">; i </span><span style="color: #000000"><</span><span style="color: #000000"> N; i</span><span style="color: #000000">++</span><span style="color: #000000">)<br />    {<br />        </span><span style="color: #0000ff">if</span><span style="color: #000000"> (</span><span style="color: #000000">!</span><span style="color: #000000">tag[i])    p[cnt</span><span style="color: #000000">++</span><span style="color: #000000">] </span><span style="color: #000000">=</span><span style="color: #000000"> i;<br />        </span><span style="color: #0000ff">for</span><span style="color: #000000"> (</span><span style="color: #0000ff">int</span><span style="color: #000000"> j </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">0</span><span style="color: #000000">; j </span><span style="color: #000000"><</span><span style="color: #000000"> cnt </span><span style="color: #000000">&&</span><span style="color: #000000"> p[j] </span><span style="color: #000000">*</span><span style="color: #000000"> i </span><span style="color: #000000"><</span><span style="color: #000000"> N; j</span><span style="color: #000000">++</span><span style="color: #000000">)<br />        {<br />            tag[i</span><span style="color: #000000">*</span><span style="color: #000000">p[j]] </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">1</span><span style="color: #000000">;<br />            </span><span style="color: #0000ff">if</span><span style="color: #000000"> (i </span><span style="color: #000000">%</span><span style="color: #000000"> p[j] </span><span style="color: #000000">==</span><span style="color: #000000"> </span><span style="color: #000000">0</span><span style="color: #000000">)<br />                </span><span style="color: #0000ff">break</span><span style="color: #000000">;<br />        }<br />    }<br />}</span></div> 鍙互鐢ㄥ潎鎽婂垎鏋愮殑鏂規(guī)硶鏉ュ垎鏋愯繖涓畻娉曠殑澶嶆潅搴︼細(xì)鐢變簬姣忎釜鍚堟暟閮藉敮涓鐨勮瀹冪殑鏈灝忕礌鍥犲瓙絳涗竴嬈★紝鑰屾瘡涓悎鏁扮殑鏈灝忕礌鍥犲瓙閮芥槸鍞竴鐨勶紝鍥犳鎬誨鏉傚害鏄疧(n)銆?br />榪欑絳涙硶鐨勬濇兂寰堝己鎮(zhèn)嶏紝鏈夊緢澶氬埄鐢ㄤ環(huán)鍊鹼紝鍙互鏍規(guī)嵁榪欑鏂規(guī)硶鍋氬埌綰挎х瓫嬈ф媺鍑芥暟絳夌瓑錛岀戶(hù)緇爺絀朵腑銆傘?img src ="http://www.shnenglu.com/sdfond/aggbug/76775.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/sdfond/" target="_blank">sdfond</a> 2009-03-16 21:29 <a href="http://www.shnenglu.com/sdfond/archive/2009/03/16/76775.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鏁存暟蹇熷箓鍙栨āhttp://www.shnenglu.com/sdfond/archive/2009/03/15/76625.htmlsdfondsdfondSun, 15 Mar 2009 02:58:00 GMThttp://www.shnenglu.com/sdfond/archive/2009/03/15/76625.htmlhttp://www.shnenglu.com/sdfond/comments/76625.htmlhttp://www.shnenglu.com/sdfond/archive/2009/03/15/76625.html#Feedback4http://www.shnenglu.com/sdfond/comments/commentRss/76625.htmlhttp://www.shnenglu.com/sdfond/services/trackbacks/76625.htmluva 374 Big Mod

璧よ8瑁哥殑鏁存暟蹇熷箓鍙栨ā
#include <cstdio>

long long PowerMod(long long a, int b, int k)
{
    
long long tmp = a, ret = 1;
    
while (b)
    {
        
if (b & 1)
            ret 
= ret * tmp % k;
        tmp 
= tmp * tmp % k;
        b 
>>= 1;
    }
    
return ret;
}

int main()
{
    
long long a;
    
int b, k;

    
while (scanf("%lld %d %d"&a, &b, &k) == 3)
        printf(
"%lld\n", PowerMod(a, b, k));

    
return 0;
}


sdfond 2009-03-15 10:58 鍙戣〃璇勮
]]>
狠狠久久综合| 亚洲午夜久久影院| 无码人妻精品一区二区三区久久| 亚洲午夜无码久久久久小说| 模特私拍国产精品久久| 久久天天躁狠狠躁夜夜不卡 | 久久夜色精品国产欧美乱| 亚洲国产另类久久久精品黑人 | 欧美精品九九99久久在观看| 亚洲国产成人精品无码久久久久久综合| 亚洲AⅤ优女AV综合久久久| 精品国产99久久久久久麻豆| 久久亚洲春色中文字幕久久久| MM131亚洲国产美女久久| 26uuu久久五月天| 武侠古典久久婷婷狼人伊人| 久久久久久久久波多野高潮| 蜜臀av性久久久久蜜臀aⅴ| 国产精品久久久久久搜索 | 国内精品伊人久久久久妇| 奇米综合四色77777久久| 91精品国产91久久久久久青草 | 国产成人久久精品激情| 精品久久久久一区二区三区| 久久久SS麻豆欧美国产日韩| 国产一区二区三区久久| 久久精品国产亚洲精品| 日产精品久久久久久久| 国产精品美女久久久免费| 国产69精品久久久久观看软件| 久久久精品人妻一区二区三区四 | 一本色道久久99一综合| 嫩草影院久久国产精品| 久久久久久免费视频| 久久综合欧美成人| 国产精品美女久久福利网站| 97r久久精品国产99国产精| 亚洲欧美另类日本久久国产真实乱对白| 久久久久亚洲AV无码专区体验| 久久久久国色AV免费观看| 久久久国产乱子伦精品作者|