• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
 






Siriuslzx

 
 

Powered by 博客园
博客园 | 首页 | 新随笔 | 联系 | 订阅 订阅 | 管理

2012年4月2日

poj 3620 Avoid The Lakes
摘要: 斌哥说这题不是DP题,可我真的用DP做的啊,难道我已经突破了类型的限制?哈哈。这题我用了DFS加DP。 1 #include<stdio.h> 2 #include<string.h> 3 int m,n,k,f[105][105],vis[105][105]; 4 int dp(int i,int j) 5 { 6 if(!f[i][j] || vis[i][j]) return 0; 7 vis[i][j] = 1; 8 int &ans = f[i][j]; 9 ans += dp(i-1,j)+dp(i+1,j)+dp(i,j-1)+dp(i,j+1); 阅读全文
posted @ 2012-04-02 22:38 Siriuslzx 阅读(219) 评论(0) 推荐(0)
 
poj 3230 Travel
摘要: 一道看起来比较纠结的题,但思路很好想:一天一天的递推。看开始没看到“The traveler always starts from city 1”,害得我想复杂了,差点儿把O(n^3)写成O(n^4)。 1 #include<stdio.h> 2 int m,n,f[105][105],cost[105][105]; 3 int main() 4 { 5 int i,j,k,max; 6 while(scanf("%d%d",&n,&m)==2) 7 { 8 if(!m && !n) break; 9 for(i = 1; i & 阅读全文
posted @ 2012-04-02 22:31 Siriuslzx 阅读(162) 评论(0) 推荐(0)
 
hdu 1950 Bridging signals
摘要: 还是求最长上升子序列,DP中基础的一种。不过今天出了点问题,TLE了。经过提醒,我花了N个小时去看nlogn算法,总算A了。作为一个菜鸟,还真是没有骄傲的资本啊。 1 #include<stdio.h> 2 #define MAXN 40005 3 int m,n; 4 int c[MAXN],a[MAXN]; 5 int find(int *c,int len,int n) 6 { 7 //就是在n可以取代数组c中的数的条件下, 8 //把n放到c中,n所对应的下标 9 int left=0,right=len,mid;10 mid = (left+right)/2;... 阅读全文
posted @ 2012-04-02 22:21 Siriuslzx 阅读(226) 评论(0) 推荐(0)
 
UVA 10003 Cutting Sticks
摘要: 今天好不容易A了一题,还是“借鉴”的。原文在http://blog.csdn.net/biran007/article/details/3865350。不管怎么,还是有收获的。比如我才知道原来递推数组是能大幅度缩减的,真是有种醍醐灌顶的感觉。另外,今天我已经INF次把dp(x,y)写成dp[x][y]了,真是丢人。 阅读全文
posted @ 2012-04-02 10:53 Siriuslzx 阅读(198) 评论(0) 推荐(0)