³å´ÌNOIP2010Ä£ÄâÊÔÌâÓë½âÎö(Ò») ÏÂÔØ±¾ÎÄ

³å´ÌNOIP2010Ä£ÄâÊÔÌâÓë½âÎö£¨Ò»£©

퉀
£¨Ìá¸ß×éʱ¼ä£º3¸öСʱ£© ÄÑÒ×Ö¸Êý£º¡ï¡ï¡ï ÌâÄ¿Ãû³Æ ÊäÈëÎļþÃû ÌÔÌ­ÈüÖÆ elimination.in ÖÖÊ÷ treesm trees.out 1s 10 10 256MB ·½³ÌµÄ½â equation.in equation.out 1s lO 10 256MB ÎïÁ÷ÔËÊä trans.in trans.out 1s 10 lo 256MB ÌâÄ¿³ÌÐòÃû elimination.pas/c/cpp trees.pas/c/cpp equation.pas/c/cpp trans.pas/c/cpp Êä³öÎļþÃû elimination.out ²âÊÔµãʱÏÞ ²âÊÔµã¸öÊý ²âÊÔµã·ÖÖµ ÄÚ´æÏÞÖÆ 1s 10 10 256MB 1¡¢ÌÔÌ­ÈüÖÆ(elimination.pas/c/cpp)

¡¾ÎÊÌâÃèÊö¡¿

ÌÔÌ­ÈüÖÆÊÇÒ»ÖÖ¼«Æä²Ð¿áµÄ±ÈÈüÖÆ¶È¡£2nÃûÑ¡ÊÖ·Ö±ð±êºÅ1£¬2£¬3£¬¡­£¬2n-1£¬2n£¬ËûÃǽ«Òª²Î¼ÓnÂֵļ¤ÁÒ½ÇÖð¡£Ã¿Ò»ÂÖÖУ¬½«ËùÓвμӸÃÂÖµÄÑ¡ÊÖ°´±êºÅ´ÓСµ½´óÅÅÐòºó£¬µÚ1λÓëµÚ2λ±ÈÈü£¬µÚ3λÓëµÚ4λ±ÈÈü£¬µÚ5λÓëµÚ6λ±ÈÈü¡­¡­Ö»ÓÐÿ³¡±ÈÈüµÄʤÕß²ÅÓлú»á²Î¼ÓÏÂÒ»ÂֵıÈÈü£¨²»»áÓÐÆ½¾Ö£©¡£ÕâÑù£¬Ã¿ÂÖ½«ÌÔÌ­Ò»°ëµÄÑ¡ÊÖ¡£nÂÖ¹ýºó£¬Ö»Ê£ÏÂÒ»ÃûÑ¡ÊÖ£¬¸ÃÑ¡ÊÖ¼´Îª×îÖյĹھü¡£

ÏÖÔÚÒÑ֪ÿλѡÊÖ·Ö±ðÓëÆäËûÑ¡ÊÖ±ÈÈü»ñʤµÄ¸ÅÂÊ£¬ÇëÄãÔ¤²âÒ»ÏÂË­¶á¹ÚµÄ¸ÅÂÊ×î´ó¡£ ¡¾ÊäÈëÎļþ¡¿

ÊäÈëÎļþelimination.in¡£µÚÒ»ÐÐÊÇÒ»¸öÕûÊýn(l¡Ün¡Ül0)£¬±íʾ×ÜÂÖÊý¡£½ÓÏÂÀ´2nÐУ¬Ã¿ÐÐ2n¸öÕûÊý£¬µÚiÐеÚj¸öÊÇpij(0¡Üpij¡Ü100£¬pii=0£¬pij+pji=100)£¬±íʾµÚiºÅÑ¡ÊÖÓëµÚjºÅÑ¡ÊÖ±ÈÈü»ñʤµÄ¸ÅÂÊ¡£ ¡¾Êä³öÎļþ¡¿

Êä³öÎļþelimination.out¡£Ö»ÓÐÒ»¸öÕûÊýc£¬±íʾ¶á¹Ú¸ÅÂÊ×î´óµÄÑ¡ÊÖ±àºÅ£¨ÈôÓжàλѡÊÖ£¬Êä³ö±àºÅ×îСÕߣ©¡£ ¡¾ÑùÀýÊäÈë¡¿ 2

0 90 50 50 10 0 10 10 50 90 0 50 50 90 50 0

¡¾ÑùÀýÊä³ö¡¿ 1

¡¾Êý¾Ý¹æÄ£¡¿

30%µÄÊý¾ÝÂú×ãn¡Ü3£»100%µÄÊý¾ÝÂú×ãn¡Ü10¡£

2¡¢ÖÖÊ÷£¨trees.pas/c/cpp£©

¡¾ÎÊÌâÃèÊö¡¿

Ò»Ìõ½ÖµÄÒ»±ßÓм¸×ù·¿×Ó¡£ÒòΪ»·±£Ô­Òò¾ÓÃñÏëÒªÔÚ·±ßÖÖЩÊ÷¡£Â·±ßµÄµØÇø±»·Ö¸î³É¿é£¬²¢±»±àºÅΪl¡­n¡£Ã¿¸ö¿éµÄ´óСΪһ¸öµ¥Î»³ß´ç²¢×î¶à¿ÉÖÖÒ»¿ÃÊ÷¡£Ã¿¸ö¾ÓÃñÏëÔÚÃÅǰÖÖЩÊ÷²¢Ö¸¶¨ÁËÈý¸öºÅÂëb£¬e£¬t¡£ÕâÈý¸öÊý±íʾ¸Ã¾ÓÃñÏëÔÚbºÍeÖ®¼ä×îÉÙÖÖt¿ÃÊ÷¡£µ±È»£¬b¡Üe£¬¾ÓÃñ±ØÐë±£Ö¤ÔÚÖ¸¶¨µØÇø²»ÄÜÖÖ¶àÓÚµØÇø±»·Ö¸î³É¿éÊýµÄÊ÷£¬¼´ÒªÇót¡Üe-b+1£¬ÔÊÐí¾ÓÃñÏëÖÖÊ÷µÄ¸÷×ÔÇøÓò¿ÉÒÔ½»²æ¡£³öÓÚ×ʽð¶ÌȱµÄÔ­Òò£¬»·±£²¿ÃÅÇëÄãÇó³öÄܹ»Âú×ãËùÓоÓÃñµÄÒªÇó£¬ÐèÒªÖÖÊ÷µÄ×îÉÙÊýÁ¿¡£ ¡¾ÎļþÊäÈë¡¿

µÚÒ»ÐÐΪn£¬±íÊ¾ÇøÓòµÄ¸öÊý£»µÚ¶þÐÐΪh£¬±íʾ·¿×ÓµÄÊýÄ¿£»ÏÂÃæhÐÐÃèÊö¾ÓÃñµÄÐèÒª£ºb e t£¨0

Êä³öΪÂú×ãËùÓÐÒªÇóµÄ×îÉÙÊ÷µÄÊýÁ¿¡£ ¡¾ÑùËÇÊäÈë¡¿ 9 4 1 4 2 4 6 2 8 9 2 3 5 2

¡¾ÑùÀýÊä³ö¡¿ 5

¡¾Êý¾Ý¹æÄ£¡¿

30%µÄÊý¾ÝÂú×ã0

3¡¢·½³ÌµÄ½â(equation.pas/c/cpp)

¡¾ÎÊÌâÃèÊö¡¿

¼Ñ¼ÑÅöµ½ÁËÒ»¸öÄÑÌ⣬ÇëÄãÀ´°ïæ½â¾ö¡£

¶ÔÓÚ²»¶¨·½³Ìa1+a2+¡­+ak-1+ak=g(x)£¬ÆäÖÐk¡Ý2ÇÒk¡ÊN£¬xÊÇÕýÕûÊý£¬g(x)=xx mod 1000(¼´xx³ýÒÔ1000µÄÓàÊý)£¬x£¬kÊǸø¶¨µÄÊý¡£ÎÒÃÇÒªÇóµÄÊÇÕâ¸ö²»¶¨·½³ÌµÄÕýÕûÊý½â×éÊý¡£

¾ÙÀýÀ´Ëµ£¬µ±k=3£¬x=2ʱ£¬·Ö±ðΪ(a1,a2,a3)=(2,1,1)'(1,2,1)£¬(1,1,2)¡£ ¡¾ÎļþÊäÈë¡¿

ÊäÈëÎļþequation.inÓÐÇÒÖ»ÓÐÒ»ÐУ¬ÎªÓÿոñ¸ô¿ªµÄÁ½¸öÕýÕûÊý£¬ÒÀ´ÎΪk£¬x¡£ ¡¾ÎļþÊä³ö¡¿

Êä³öÎļþequation.outÓÐÇÒÖ»ÓÐÒ»ÐУ¬Îª·½³ÌµÄÕýÕûÊý½â×éÊý¡£ ¡¾ÑùÀýÊäÈë¡¿ 3 2

¡¾ÑùÀýÊä³ö¡¿ 3

¡¾Êý¾Ý·¶Î§¡¿

¶ÔÓÚ40%µÄÊý¾Ý£¬ans¡Ü1016£»¶ÔÓÚ100%µÄÊý¾Ý£¬k¡Ü100£¬x¡Ü231-1£¬k¡Üg(x)¡£

4¡¢ÎïÁ÷ÔËÊ䣨trans.pas/c/cpp£©

¡¾ÎÊÌâÃèÊö¡¿

ÎïÁ÷¹«Ë¾Òª°ÑÒ»Åú»õÎï´ÓÂëÍ·AÔ˵½ÂëÍ·B¡£ÓÉÓÚ»õÎïÁ¿±È½Ï´ó£¬ÐèÒªnÌì²ÅÄÜÔËÍê¡£»õÎïÔËÊä¹ý³ÌÖÐÒ»°ãҪתͣºÃ¼¸¸öÂëÍ·¡£ÎïÁ÷¹«Ë¾Í¨³£»áÉè¼ÆÒ»Ìõ¹Ì¶¨µÄÔËÊä·Ïߣ¬ÒÔ±ã¶ÔÕû¸öÔËÊä¹ý³ÌʵʩÑϸñµÄ¹ÜÀíºÍ¸ú×Ù¡£ÓÉÓÚ¸÷ÖÖÒòËØµÄ´æÔÚ£¬ÓеÄʱºòij¸öÂëÍ·»áÎÞ·¨×°Ð¶»õÎï¡£Õâʱºò¾Í±ØÐëÐÞ¸ÄÔËÊä·Ïߣ¬ÈûõÎïÄܹ»°´Ê±µ½´ïÄ¿µÄµØ¡£µ«ÊÇÐ޸ķÏßÊÇ¡ª¼þÊ®·ÖÂé·³µÄÊÂÇ飬»á´øÀ´¶îÍâµÄ³É±¾¡£Òò´ËÎïÁ÷¹«Ë¾Ï£ÍûÄܹ»¶©Ò»¸önÌìµÄÔËÊ伯»®£¬Ê¹µÃ×ܳɱ¾¾¡¿ÉÄܵØÐ¡¡£ ¡¾ÎļþÊäÈë¡¿

µÚÒ»ÐÐÊÇËĸöÕûÊýn(l¡Ün¡Ü100)¡¢m(l¡Üm¡Ü20)¡¢KºÍe¡£n±íʾ»õÎïÔËÊäËùÐèÌìÊý£¬m±íʾÂëÍ·×ÜÊý£¬K±íʾÿ´ÎÐÞ¸ÄÔËÊä·ÏßËùÐè³É±¾¡£½ÓÏÂÀ´eÐÐÿÐÐÊÇÒ»Ìõº½ÏßÃèÊö£¬°üÀ¨ÁËÈý¸öÕûÊý£¬ÒÀ´Î±íʾº½ÏßÁ¬½ÓµÄÁ½¸öÂëÍ·±àºÅÒÔ¼°º½Ïß³¤¶È(>0)¡£ÆäÖÐÂëÍ·A±àºÅΪ1£¬ÂëÍ·B±àºÅΪm¡£µ¥Î»³¤¶ÈµÄÔËÊä·ÑÓÃΪ1¡£º½ÏßÊÇË«ÏòµÄ¡£ÔÙ½ÓÏÂÀ´Ò»ÐÐÊÇÒ»¸öÕûÊýd£¬ºóÃæµÄdÐÐÿÐÐÊÇÈý¸öÕûÊýP(1

°üÀ¨ÁËÒ»¸öÕûÊý±íʾ×îСµÄ×ܳɱ¾¡£×ܳɱ¾=nÌìÔËÊä·Ïß³¤¶ÈÖ®ºÍ+K*¸Ä±äÔËÊä·ÏߵĴÎÊý¡£

¡¾ÑùÀýÊäÈë¡¿ 5 5 10 8 1 2 1 1 3 3 1 4 2 2 3 2 2 4 4 3 4 1 3 5 2 4 5 2 4 2 2 3 3 1 1 3 3 3 4 4 5

¡¾ÑùÀýÊä³ö¡¿ 32

¡¾ÑùÀýÊäÈë˵Ã÷¡¿