2012-01-01ãã1å¹´éã®è¨äºä¸è¦§
åå(åçè¨ç»æ³(Dynamic Programming)æ¼ç¿ - ãããã®æ¥è¨ ~ Out_Of_Range ~)ã®ç¶ããä»åã¯è©²å½ããDiv2Hardã®ãã¡13å解ãã¾ããã [Div2](SRM354) 1000:UnsealTheSafe dp[i][j] := i-1çªç®ã«jãæ¼ããããªãã¹ã¯ã¼ãã®ç·æ° sum += dp[i - 1][keypad[ny][â¦
ã¿ã¤ãã«ã®ã¾ãã¾ã§ãã TopCoder SRMã®éå»åãã解æ³ã«ãDynamic Programmingããå«ã¾ãã¦ããåé¡ãã¬ãã«ã§æé ã«ã½ã¼ããã¦è§£ãã¦ããã¾ãã 該å½ããDiv2Mediumå ¨18åä¸15å解ãã¾ããã(æ®ã3åã¯ãdpã§ãµã¤ã解ããªãã ããã¿ãããªåé¡ã ã£ãã®ã§å¥â¦
[åé¡] 2112 -- Optimal Milkingçã¨ãã«ã¯ãã·ã¼ã³(é©å½)ã辺ã§æ¥ç¶ããã¦ãããå ¨ã¦ã®çããã«ã¯ãã·ã¼ã³ã«å°çããããããã®æãã£ã¨ãããããæ©ãçã®è·é¢ãæå°åãããããã ãããã«ã¯ãã·ã¼ã³ã¯må¹ã®çããå¦çã§ããªãã [解æ³] WarshallFloyd + â¦
[åé¡æ] 1949 -- ChoresNåã®ä»äºããããããããã«ãããæéã¨ããã®ä»äºããå¿ ãå ã«çµããããªããã°ãªããªãä»äºkåã®æ å ±ãä¸ããããã ä»äºã¯ä¸¦åã§è¡ããã¨ãã§ãããNåã®ä»äºãçµããããã®ã«ãããæéãæå°åããã [解æ³] ãããã¸ã«ã«ã½ã¼â¦
[åé¡æ] AIZU ONLINE JUDGE [解æ³] æ§æ解æ æ £ãã¦ããªãã®ã§ããªãæéãããã£ãã ãããªãã¤ã®è§£æ <exp>::= "(" , <exp> , <exp> , ")" | "" çµæ§æ¥½ããã struct E{ int l,r,id; int over; E(){ l = r = -1 ,id = 0; over = 0;} }; int now; int p = 0; E memo[400]</exp></exp></exp>â¦
[åé¡æ] AIZU ONLINE JUDGE [解æ³] dp + UFæ¨ æ°åãä½ã£ã¦ããã¦ãUFæ¨ã§éåãä½ãã int par[2000]; int rank[2000]; void init(int n){ rep(i,n) par[i] = i; memset(rank,0,sizeof(rank)); } int find(int x){ if(par[x] == x) return x; return par[xâ¦
å æ¥é¨ã§ã2æ³3æ¥ã®æ±äº¬é å¾ã«è¡ã£ã¦ãã¾ããã 1æ¥ç®ã¯ç§èåã2æ¥ç®ã¯çºè¡¨ç·´ç¿ãããã¦3æ¥ç®ã¯Google社ã«è¨ªåããã¦ããã ãã¾ãããGoogle社ã§ã¯ç¤¾å é£å ã§ããã®æåãªãBinary Hacksãã®èè ã®æ¹ã¨ãé£äºãã話ããã¦ããã ããå¾ãã¨ã³ã¸ãã¢ã®æ¹ã ã®â¦
250 TheBrickTowerEasyDivTwo並ã¹ãã ã class TheBrickTowerEasyDivTwo { public: int find(int redCount, int redHeight, int blueCount, int blueHeight) { int now_h = 0; int C[2] = {blueCount,redCount}; int H[2] = {blueHeight,redHeight}; memset(â¦
1651 -- Multiplication Puzzle [åé¡] Næã®ã«ã¼ããä¸ããããããããã®ä¸ããä»»æã®1æãåãé¤ãããã®éãé¸ãã ã«ã¼ã * å·¦ã®ã«ã¼ã * å³ã®ã«ã¼ãã®ã¹ã³ã¢ãå ç®ãããããã ã両端ã®ã«ã¼ãã¯é¸ã¹ãªãã å¯è½ãªéããããã®æä½ãç¹°ãè¿ããæã®åè¨â¦
1611 -- The Suspects [åé¡] ããã¤ãã®ã°ã«ã¼ãã¨ããã«æå±ããçå¾ã®ã¡ã³ãã¼ã®æ å ±ãä¸ããããã0çªã®çå¾ãå¼·åãªé¢¨éªè(æ訳)ãæã£ã¦ãã¦ãåãã°ã«ã¼ãã«æå±ãã¦ããçå¾ã«ææãã¦ãã¾ããææã¯æ¨ç§»çã§ãããä¾ãã° aã°ã«ã¼ã 㨠bã°ã«ã¼ã両â¦
1564 -- Sum It Up [åé¡] Nåã®è¦ç´ ãããªãéåãä¸ãããã¾ããåè¨ãtã¨ãªãä»»æã®é¨åéåãdecreasing orderã§åºåãã¦ãã ããã(ä¾) Input: t = 400 N = 12 [50 50 50 50 50 50 25 25 25 25 25 25]Output: Sums of 400: 50+50+50+50+50+50+25+25+25+â¦
3671 -- Dining Cows [åé¡] 1ã¾ãã¯2ãã©ã³ãã ã«Nå並ãã§ãããä»»æã®ç®æã1 -> 2 ããã㯠2 -> 1ã¨æ¸ãæãããã¨ã§ãå ¨ã¦ã®1ã2ããåã«æ¥ãããã«ãããã æ¸ãæããåæ°ã®æå°å¤ãæ±ããã [解æ³]1ã°ã«ã¼ãã¨2ã°ã«ã¼ããã©ãã§åãããã§å ¨æ¢ç´¢ãâ¦
2186 -- Popular Cows [åé¡] Måã®ãã¢(A,B): çAãçBã人æ°è ã ã¨æã£ã¦ãã ãä¸ããããããã ã (A,B) ,(B,C) => (A,C) ã¨ããã(é¢ä¿ã¯æ¨ç§»ç) èªå以å¤ã®å ¨ã¦ã®çãã人æ°è ã ã¨æããã¦ããçã®æ°ãæ±ãã ãã£ã¨æ¾ç½®ãã¦ããè»æ¬ã®åé¡ã ãã¹ã¦ã®â¦
åé¡æâ 2140 -- Herd Sums[åé¡] èªç¶æ°Nãä¸ããããã Nãé£ç¶ããèªç¶æ°ã®åã§è¡¨ãã¨ä½éãã§ãããã(ä¾) N = 15 [7+8 , 4+5+6 , 1+2+3+4+5 , 15] 4éã Sum(b) - Sum(a-1) = Sum([a,b]) ã¿ãããªãã¨ãã㨠O(n^2)ã¨ãã«ãªã£ã¦éã«åããªãããªã®ã§ S(â¦
åé¡æâAIZU ONLINE JUDGE 10é²æ°ã-10é²æ°ã«ç´ãåé¡ã x mod (-10)^nããã£ã¦ãã (è² ã«ãªã£ãæã¯æ£ã«ãã¦ãã) string Trans(int n){ string ans=""; while(n != 0){ int mod=n%(-10); int nxt=n/(-10); if(mod < 0){ mod+=10; nxt++; } char c='0'+mod;â¦
åé¡æâAIZU ONLINE JUDGEãã¼ããè²¼ã£ã¦ããã®ã§ãå²ã¾ããé åã®æ°ãçããåé¡ã 座æ¨å§ç¸®+å¹ åªå ã§ãããã座æ¨å§ç¸®ã®è§£èª¬ãå°ãªããã¦èã...ä¸å¿ãã®åé¡ã第7åJOIã®æ¬é¸5çªãªã®ã§ããã®è§£èª¬ãè¦ãã°åº§æ¨å§ç¸®ã®å¤§ã¾ããªèª¬æãè¼ã£ã¦ããâ æ¸ãéå¤ãâ¦
åé¡æâAIZU ONLINE JUDGEæ£è§£è æ°å°ãªãã£ãã®ã§ãæãã¦æãã¤ãã¦ããªãã£ãåé¡ããã£ã¨è§£ããã®ã§ãããå¬ããã§ããã¡ã¢åæ¢ç´¢ãã¾ãã(ã»ã¨ãã©ã®æ¹ãdpãã¦ããã®ã§ãã£ã¡ã®æ¹ãè¯ãã£ããã...) #include<iostream> #include<cstdio> #include<algorithm> #include<vector> #include<string> #inc</string></vector></algorithm></cstdio></iostream>â¦
åé¡æâ 3041 -- AsteroidsN*Nã®æ ¼åä¸ã«Kåã®å°ææãããã¾ããå°ææiã®ä½ç½®ã¯(R[i],C[i])ã«ããã¾ãã縦ã¾ãã¯æ¨ªä¸ç´ç·ä¸ã®å°ææããã¹ã¦ä¸çºã®ãã¼ã ã§ç ´å£ã§ããå¼·åãªæ¦å¨ãããããããç¨ãã¦ãã¹ã¦ã®å°ææãç ´å£ããããã«å¿ è¦ãªæå°ã®çºå°åæ°ãâ¦
ããã復æ§ããã®ã§ä¼æ©ãã¦ãPythonã§ã¹ã¯ãªããæ¸ãã¦ã¿ã¾ããã PKUã®ååé¡ã.txtå½¢å¼ã«å¤æããã¹ã¯ãªããã§ãã å¤æããåé¡ã®ç¯å²ãæå®ã§ãã¾ããããã¾ãå¤ãããããã¨DOSæ»æã«è¿ãåããããã®ã§ãå¤æã¯éãç½®ãã¦å°ããã¤ããããã«ãã¾ãã(â¦
åé¡æâ2104 -- K-th Numbersort()ã¨ã使ãã¨éã«åããªãã®ã§ åºéãã¨ã®x以ä¸ã®åæ°ãäºåæ¢ç´¢ã§æ°ãã¾ãããããäºåæ¢ç´¢ã«ã¯ã½ã¼ããå¿ è¦ãªã®ã§ãã¼ã¸ã½ã¼ãã®è¦é ã§ã»ã°ã¡ã³ãæ¨ãä½ã£ã¦ãããå¿ è¦ãªåºéã«å¯¾ãã¦ã®ã¿äºåæ¢ç´¢ãè¡ãã°éã«åãã¿ããã§â¦
åé¡æâ AIZU ONLINE JUDGEããããã¹ãé¸ãã§ããã®æ°åãå転(1 0)ãããã ãã®æãã®ãã¹ã®ä¸ä¸å·¦å³ãå転ããã ãã¹ã¦ã0ã«ããããã«å¿ è¦ãªå転ç®æãæ±ããã ã¨ããåé¡ãæ®éã«èããã O(2^100)ã¨ãã§ç¡çã ããã§ä¸çªä¸ã®è¡ã®å転ã®ä»æ¹ãä¸æâ¦
åé¡æâ2385 -- Apple Catchingãããã1åãã¨ã«2æ¬ã®æ¨ã®ããããããè½ã¡ã¦ããã2æ¬ã®æ¨ã決ããããåæ°å è¡ãæ¥ãã¦è½ã¡ã¦ãããããããã£ããããã ãã£ããã§ãããããã®åè¨ã®æ大å¤ãæ±ãããã¨ããããã¡ã¢åå帰ãæ¸ãã¦ã¿ãããããããã§ã¯â¦
åé¡æâAIZU ONLINE JUDGEãã¹ã®æ°ãæå®ãã¦éæ³é£ãåºåããåé¡ #include<iostream> #include<cstdio> #include<algorithm> #include<vector> #include<string> #include<cmath> #include<map> using namespace std; int context[15][15]; void init(){ for(int i=0;i<15;i++){ for(int j=0;j<15;j++){ context[i][j</map></cmath></string></vector></algorithm></cstdio></iostream>â¦
printf()é¢æ°ã®èå¼±æ§ãå©ç¨ããæ»æææ³ã§ããã¨ãããã以ä¸ã®ã³ã¼ããè¦ã¦ãã ããã #include <stdio.h> #include <stdlib.h> #include <string.h> int main(int argc, char *argv[]) { //ã客æ§ã®ååã表示---- char text[1000]; strcpy(text,argv[1]); printf(text); printf("\n");</string.h></stdlib.h></stdio.h>â¦
競æãã£ããã»ãã¥ãªãã£åå¼·ãããã¨ãããããªåéã«æãåºãããã¦ããæã¯å¦ãã¾ããããã¨ããããä»åã¯ã»ãã¥ãªãã£ã®ãã¨ã«ã¤ãã¦æ¸ãã¾ããèå¼±æ§ã¨ãã¦ãã£ã¨ãåºæ¬çãªãã®ã¨ãã¦ããããã¡ãªã¼ãã¼ããã¼ããæãããã¾ããèªåã®æ¸ããããã°â¦
ä»æ¥ã¯æéããã¾ãç¡ãã£ãã®ã§5åã ã解ãã¾ããSRM488(Score):231.03ãããªã«é£ãããªã class TheBoredomDivTwo { public: int find(int n, int m, int j, int b) { int result=n; if(j==b && n
æè¿TopCoderã®æ績ãã²ã©ãã®ã§ãã¨ããããDiv2Easyã確å®ã«ã¨ããããã«ãããã¨æã£ã¦ãã©ã¯ãã£ã¹ãã¾ããã ã¦ãã¨ã§Div2Easy 10é£æ¦ã®ã½ã¼ã¹(ããªããã»ããµé¨åã¨ãããããã¯çç¥ãã¦ã¾ã)SRM416 map使ã£ã¦è§£ãã class MostCommonLetters { publicâ¦