• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
tmeteorj
Nothing is so big that it is impossible to get over, and hurt only serves to make us stronger. 没有什么事是大到无法战胜的,痛苦也只会让我们变得更加坚强。
博客园 | 首页 | 新随笔 | 新文章 | 联系 | 订阅 订阅 | 管理

2012年9月28日

POJ 2329
摘要: 题意:把矩阵n*n中所有的0改成它最接近的正数,若有两个及以上都满足,则不变。题解:bfs每个0View Code 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 using namespace std; 5 const int N=50000; 6 int map[300][300],ans[300][300]; 7 int po[N][2]; 8 int stk[N][3]; 9 int dr[][2]={0,1,0,-1,1,0,-1,0};10 bool mark[300] 阅读全文
posted @ 2012-09-28 20:53 tmeteorj 阅读(293) 评论(0) 推荐(0)
 
POJ 2157
摘要: 题意:人走迷宫,起点S,终点G,A/B/C/D/E为门,要开A必须集齐地图上所有的a,依次类推,问最后能否到G。题解:从起点出发,dfs所有能到的点,其中,遇到门但没凑够钥匙就将该点标记,代表能到它,遇到钥匙就将还需要凑的钥匙减一。然后每次dfs一遍后,查看所有的被标记了的门,如果钥匙够了就从该点出发再进行一次dfs。View Code 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 #include<cctype> 5 using namespace std; 6 i 阅读全文
posted @ 2012-09-28 20:02 tmeteorj 阅读(332) 评论(0) 推荐(0)
 
POJ 2748
摘要: 题意:给n个圆柱作为底,往上面放圆柱,要求每一层上面的一定比这层的圆柱数少,另外,放的位置不同也要算新的一种,问总共有多少种。题解:通过暴力打表可以看出,要求的g(n)就等于f(2*n-1),其中,f(i)是斐波拉契数列第i项,其次,这题坑爹的有100万组样例,log(n)直接求都会超时。所以,只能先找循环节,随便写个暴力程序求出循环节75000,然后就顺理成章了。View Code 1 #include<cstring> 2 #include<cstdio> 3 #include<set> 4 #include<algorithm> 5 usi 阅读全文
posted @ 2012-09-28 14:49 tmeteorj 阅读(201) 评论(0) 推荐(0)
 
POJ 2926
摘要: 题意:求n个五维向量的曼哈顿距离。题解:设点i的坐标为(Xi,Yi,Zi,Wi,Ti),那么它与j的曼哈顿距离为|Xi-Xj|+|Yi-Yj|+|Zi-Zj|+|Wi-Wj|+|Ti-Tj|,去掉绝对值后,可能要取反或者不取,可以看出,若把所有情况全部考虑,答案结果有2^5种,但是由于本来是有绝对值的,可能某个本来是正数的值取了反,某个负数有没有取,但这样肯定只能使原数变小,所以我们要的结果实际上是2^5中最大的那个。 去掉绝对值后,原始变为?(Xi-Xj)+?(Yi-Yj)+?(Zi-Zj)+?(Wi-Wj)+?(Ti-Tj),问号即为需要枚举的那个,但如果这样直接去算,会是2^5*n... 阅读全文
posted @ 2012-09-28 13:39 tmeteorj 阅读(405) 评论(0) 推荐(0)
 
 

公告


博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3