TopCoder SRM 612 DIV1 250 EmoticonsDiv1
2014-03-19 20:56
453 查看
题意:
A打了一个笑脸表情,每次操作有以下三种:
1、复制当前全部表情
2、粘贴
3、删除一个表情
问要到达所需要的表情个数至少需要多少次
题解:
由于数不大,DP即可,dp[i][j]表示剪贴板里有i个表情,总共有j个表情的最小次数
A打了一个笑脸表情,每次操作有以下三种:
1、复制当前全部表情
2、粘贴
3、删除一个表情
问要到达所需要的表情个数至少需要多少次
题解:
由于数不大,DP即可,dp[i][j]表示剪贴板里有i个表情,总共有j个表情的最小次数
import java.util.*; import java.math.*; import java.util.ArrayList; class pair { public int a,b; public pair(int _a,int _b){a=_a;b=_b;} public pair(){} } public class EmoticonsDiv1 { final int MAXN = 2010; final int INF = 1000000007; int [][]dp=new int[MAXN][MAXN]; public static void main(String []args) { } void update(int a,int b,int i,Queue<pair> que) { if(b>=1&&b<MAXN&&dp[a][b]>i) { dp[a][b]=i; que.offer(new pair(a,b)); } } public int printSmiles(int n) { for(int i=0;i<=n;++i) for(int j=0;j<=n;++j) dp[i][j]=INF; dp[0][1]=0; pair pa=new pair(0,1); Queue<pair> que=new LinkedList<pair>(); que.offer(pa); for(int i=1;i<MAXN;++i) { int cnt=que.size(); while((cnt--)>0) { pa=que.poll(); if(pa.b==n) return i-1; update(pa.a, pa.a+pa.b, i, que); update(pa.b, pa.b, i, que); update(pa.a, pa.b-1, i, que); } } return 0; } }
相关文章推荐
- TopCoder SRM 596 DIV 1 250
- TopCoder 250 points 11-SRM 149 DIV 1 86.62/250 34.65%
- TopCoder 250 points 16-SRM 151 DIV 2 97.63/250 39.05%
- TopCoder 300 points 24-SRM 155 DIV 2 75/250 30%
- Topcoder SRM 656 (Div.1) 250 RandomPancakeStack - 概率+记忆化搜索
- TopCoder SRM 612 DIV 1 450 SpecialCells
- TopCoder 250 points 12-SRM 149 DIV 2 103.92/250 41.57%
- TopCoder SRM 612 DIV1 900
- TopCoder_SRM_144_DIV2_250_Time
- Topcoder SRM 661 (Div.1) 250 MissingLCM - 数论
- topcoder SRM 637 div2+div1 250
- topcoder srm 610 div2 250
- TopCoder 250 points 17-SRM 152 DIV 1 106.51/250 42.60%
- topcoder SRM 548 DIV2 250
- TopCoder 250 points 13-SRM 150 DIV 1 82.63/250 33.05%
- TopCoder 250 points 18-SRM 152 DIV 2 167.05/250 66.82%
- TopCoder 250 points 28-SRM 157 DIV 2 185.60/250 74.24%
- TopCoder 250 points 3-SRM 145 DIV 1 84.71/250 33.88%
- TopCoder 250 points 19-SRM 153 DIV 1 84.72/250 33.89%
- TopCoder 250 points 4-SRM 145 DIV 2 128.72/250 51.49%