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

2012年10月1日

POJ 2059
摘要: 题意:s*s的正方形上有n个点,求一个圆将它们覆盖但不超出正方形,要求圆的x坐标尽可能小,其次y坐标尽可能小。题解:数据范围太小,直接暴力。View Code 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 using namespace std; 5 int po[60][2]; 6 int s,n; 7 bool solve(int x,int y) 8 { 9 int len=min(min(x,y),min(s-x,s-y));10 len=len*len;11 for(i 阅读全文
posted @ 2012-10-01 14:20 tmeteorj 阅读(234) 评论(0) 推荐(0)
 
POJ 3213
摘要: 题意:给出矩阵A[N,P],B[P,M],C[N,M],判断A*B是否等于C,如果不等,题目会保证只有一个位置是错的,要求输出这个位置以及它应该是什么。题解:对于矩阵乘法判等的问题,若是直接模拟一般都会超时。我们可以借助向量,这道题就用随机两个向量X[1,N],Y[M,1],然后X*A*B=x[1,M],X*C=x[1,M],判断两个x是不是相同,同理判断A*B*Y与C*Y的y是不是相等,都相等那就是正确的,否则,看x的哪个不等,代表这第几列错了,y的代表着第几行错了,最后在直接算一下这一行这一列该等于什么就行了。View Code 1 #include<cstdio> 2 #in 阅读全文
posted @ 2012-10-01 13:54 tmeteorj 阅读(321) 评论(0) 推荐(0)
 
POJ 2034
摘要: 题意:给定区间[n,m]和d求一个排列使得连续的小于等于d且大于1长度的序列之和为合数。题解:dfs+剪枝即可View Code 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 using namespace std; 5 const int mr=10050; 6 bool notp[mr]; 7 int pr[mr]; 8 int pn; 9 void getpri()//筛素数10 {11 memset(notp,0,sizeof(notp));12 pn=0;13 for( 阅读全文
posted @ 2012-10-01 12:55 tmeteorj 阅读(340) 评论(1) 推荐(0)
 
POJ 1180
摘要: 题意:一台机器要按照顺序完成n个任务,每个任务都有一个代价f和需要时间t。机器完成任务的方式是分批处理,对于每一批任务需要首先预处理s时间,同批任务中所有单个任务都是同时完成,代价为完成的时刻乘以各自的代价。求最小代价。题解:类似于四边形不等式的dp。 1、分批考虑情况太多,可以先将问题转化。每个任务对对最后代价的贡献实际上等于它及它以后的f之和乘以它的时间t,即后面的任务都要为它等上t的时间,会多花f*t的代价。 2、找i的决策点的方法即min(dp[p]+(st[i]-st[p]+s)*sf[i]),st[i]为>=i的时间总和,sf[i]为大于等于i的代价总和,若两个决策点,j.. 阅读全文
posted @ 2012-10-01 12:01 tmeteorj 阅读(744) 评论(0) 推荐(0)
 
 

2012年9月29日

POJ 3744
摘要: 题意:人从1开始走,p的概率走1步,1-p的概率走2步,求踩雷的概率。题解:走到第i位置的概率为f[i]=p*f[i-1]+(1-p)*(f[i-2]),利用矩阵快速幂可迅速求出f[i]。考虑成功通过第i个的雷的概率,应该等于没有踩中前(i-1)个雷的概率乘以没有踩中i的概率,而如果没有踩到i-1这颗雷,人必定是从mine[i-1]+1过来的,于是又变成和原来一样的解情况。考虑从1出发顺利通过位于x处的雷的概率,就应该等于一减去踩到x这个位置的概率,而踩到x的概率应该等于f[x],于是,得解。View Code 1 #include<cstdio> 2 #include<cs 阅读全文
posted @ 2012-09-29 18:14 tmeteorj 阅读(612) 评论(0) 推荐(0)
 
POJ 2460
摘要: 题意&题解:水,不想说了。View Code 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 using namespace std; 5 int po[201000][2]; 6 int main() 7 { 8 int n; 9 while(scanf("%d",&n),n)10 {11 int x,y,m;12 m=(n+1)/2;13 for(int i=1;i<=n;i++)14 scanf("%d%d",&a 阅读全文
posted @ 2012-09-29 11:56 tmeteorj 阅读(177) 评论(0) 推荐(0)
 
 

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 阅读(294) 评论(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 阅读(334) 评论(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 阅读(204) 评论(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 阅读(406) 评论(0) 推荐(0)
 
 
上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 21 下一页

公告


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