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

2012年10月1日

POJ 2810
摘要: 题意:字符串处理,分为a,b,c,d四部分,a,c为浮点数,b,d为字符串,除了d以外,其余均无中间空格。然后观察a*100/b,大于1就输出d a b a*100/b%,否则,就在最后一段话后将d输出。题解:同上。View Code 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 using namespace std; 5 char ss[1000][1000]; 6 const double eps=1e-8; 7 int main() 8 { 9 char s[1000]; 阅读全文
posted @ 2012-10-01 20:40 tmeteorj 阅读(189) 评论(0) 推荐(0)
 
POJ 2379
摘要: 题意:模拟ACM Ranklist,按AC数,罚时,队伍编号排序。题解:注意2种,A了再交,输出不是按照时间顺序的。View Code 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 using namespace std; 5 struct Data 6 { 7 int id,tot,ti; 8 int pr[30]; 9 void init(int _id)10 {11 id=_id;12 tot=ti=0;13 memset(pr... 阅读全文
posted @ 2012-10-01 20:19 tmeteorj 阅读(293) 评论(0) 推荐(0)
 
POJ 1033
摘要: 题意:磁盘n个块,有m个文件,各自被分割成许多块分散在磁盘之中,要求通过最少移动次数使得第1个文件的占1,2,3...f1块,第二个文件占f1+1,f1+2...f1+f2块。。。题解:dfs(k)为将k位置的文件移到它该去的地方,标记dfs过的点,若发生重复则说明有环,就让当前dfs点移到最大一个空闲块,否则,必定能将链还原。View Code 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 using namespace std; 5 const int N=10005; 6 阅读全文
posted @ 2012-10-01 19:43 tmeteorj 阅读(644) 评论(0) 推荐(0)
 
POJ 1156
摘要: 题意:求矩形中差异值最大不超过c的子矩阵的最大面积。题解:枚举子矩形左右两列,然后记录每行位于这两列之间的最大最小值,建两个单调队列,从上往下一次扫描时,判断差异值是否超过了c,以此来维护队列,再加最优化剪枝。View Code #include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int N=705;int row,col,c;int map[N][N],_min[N],_max[N];//min/max:第i行[a,b]区间最大/小值int Q1[N*2 阅读全文
posted @ 2012-10-01 18:34 tmeteorj 阅读(390) 评论(0) 推荐(0)
 
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)
 
 

公告


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