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

2012年10月23日

POJ 3544
摘要: 题意:n头猪分别送往n座城市,每头猪重量不同,每一千克运送一公里会花费t元,每个城市距离养猪场的位置也不同,单位猪的价格也不同,求最优分配方案。题解:贪心,每座城市猪的单位价格p减去到这座城市的距离d乘以t为把猪送到这座城市的单位获益,重的猪就送往获益大的地方。View Code 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 using namespace std; 5 typedef long long LL; 6 struct data 7 { 8 LL p,d; 9 int 阅读全文
posted @ 2012-10-23 12:20 tmeteorj 阅读(233) 评论(0) 推荐(0)
 
 

2012年10月22日

POJ 1671
摘要: 题意:太难翻译了。。。只可意会,不可言传。。。题解:dp[i][j]为长度为i且含j个不同节拍的方法种数,那么dp[i][j]=dp[i-1][j-1]+dp[i-1][j]*j,即多出的节拍独自一种或者与前面某种相同。后来证实,这就是第二类string数View Code 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 using namespace std; 5 double dp[100][100]; 6 int main() 7 { 8 memset(dp,0,sizeof 阅读全文
posted @ 2012-10-22 12:44 tmeteorj 阅读(323) 评论(0) 推荐(0)
 
POJ 1636
摘要: 题意:都含有m个犯人的两个监狱要等量交换至多[m/2]个犯人,约数条件是监狱A的第i个犯人不能和监狱B的第j个犯人在同一个监狱,问小于且最接近[m/2]的交换人数。题解:1、为了方便,让B监狱的犯人编号从m+1开始。可以看出,交换的图是一个二分图,如果左边的第i个点不能和第j个点共处,那么就让它们连一条边,将边连完之后,满足约数条件的交换实际上就是同属于一个连通分量的所有左右的两边的点进行交换,否则,必然会有矛盾出现。 2、记录1中所有的这种情况,即合法交换需要用多少个A监狱的人去换多少个B监狱的人。 3、dp[a][b]代表A监狱交换了a个人,B监狱交换了b个人是否可行,转移方程就是... 阅读全文
posted @ 2012-10-22 12:25 tmeteorj 阅读(558) 评论(0) 推荐(0)
 
 

2012年10月20日

POJ 1816
摘要: 题意:给出n个模式串,串中除开小写字母外,?代表一个字符,*代表可空的任意字符串,然后再给出m个字符串,问有多少个模式串可以与之匹配。题解:通过模式串建立字典树,接着就是用字符串去dfs就行了,需要注意的就是遇到当前节点为*则还可以继续走当前结点,由于每次dfs要么字典树匹配深度加1,要么字符串位置加1,所以不会出现死循环。另外这题有些卡内存,模式串可能一样,记录每个结点代表哪些模式串时可以参照图论建边的方法,建一个邻接表储存各个结点的模式串信息。View Code 1 #include<cstdio> 2 #include<cstring> 3 #include< 阅读全文
posted @ 2012-10-20 15:09 tmeteorj 阅读(641) 评论(0) 推荐(0)
 
POJ 3612
摘要: 题意:n个序列,权值为相邻差值的绝对值之和*c。可以给每个数添加一个x,代价为x*x。求最小权。题解:dp[i][j]为第i个数为j时的最小代价,转移时分两种情况,如果i-1的高度小于j,那么dp[i][j]=dp[i-1][k]+(a[i]-j)^2+(j-k)*c=(a[i]-j)^2+j*c+(dp[i-1][k]-k*c),记录所有小于j的dp[i-1][k]-k*c最小值为low[j],转移复杂度就变成1了,如果i-1高度不低于j,也同上,只是将-k*c改成了+k*c,j*c变成-j*cView Code 1 #include<cstdio> 2 #include< 阅读全文
posted @ 2012-10-20 14:09 tmeteorj 阅读(305) 评论(0) 推荐(0)
 
POJ 1962
摘要: 题意:给定n台电脑,初始都是以自己作为中心。然后一些询问,E x,问x距离中心多远。 I x y 建立一条x到y的长度为|x-y|(mod 1000)的边,且使得原来x机群的中心转移到y机群上。题解:并查集,再额外记录每个点到中心的距离。View Code 1 #include<cstdio> 2 #include<algorithm> 3 #include<cstring> 4 using namespace std; 5 const int N=30000; 6 int fa[N],dist[N]; 7 int Find(int x) 8 { 9 if( 阅读全文
posted @ 2012-10-20 11:24 tmeteorj 阅读(391) 评论(0) 推荐(0)
 
POJ 2408
摘要: 题意:对字符串分类,按照每类大小由大到小输出前五个类,没类中相同的字符串只输出一次。题解:各种STLView Code 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 #include<queue> 5 #include<string> 6 #include<map> 7 #include<set> 8 using namespace std; 9 struct data10 {11 vector<string> vec; 阅读全文
posted @ 2012-10-20 11:08 tmeteorj 阅读(348) 评论(0) 推荐(0)
 
 

2012年10月19日

POJ 2228
摘要: 题意:有头牛喜欢睡觉,一天被其分成了n(3<=n<=3830)份,它可以选择至多m份(2<=m<n)进行睡觉。每个时间段睡觉所得的收益不同,且它每次睡觉都必须花一份时间来入睡(算在m中,但是却没有收益),每天被视为一个环,即如果第n份没有在入睡或者熟睡状态,第一份时间就不能是熟睡状态,求最大收益。题解:1、dp[n][m][0,1,2]分别代表第n天,睡了m份时间且第n天分别是醒着、入睡、熟睡状态时的最大收益,为了防止空间溢出,可以通过辗转更新来节省。 2、显然,dp[i][j][0]->dp[i+1][j][0]、dp[i+1][j+1][1];dp[i][j] 阅读全文
posted @ 2012-10-19 16:28 tmeteorj 阅读(506) 评论(0) 推荐(0)
 
POJ 1049
摘要: 题意:模拟微处理机。题解:大模拟~View Code 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 #include<cctype> 5 using namespace std; 6 char s[300]; 7 int pos; 8 char A,B; 9 char D_H(int x) 10 { 11 if(x<10) 12 return x+'0'; 13 else 14 return x-10+'A'; 15 } 16 i 阅读全文
posted @ 2012-10-19 15:44 tmeteorj 阅读(268) 评论(0) 推荐(0)
 
POJ 2781
摘要: 题意:给出人际关系网络,求一个人要寻到另一个人需要经过的最少中间人数。题解:裸的最短路。View Code 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 using namespace std; 5 const int N=100005,M=N*100,inf=0x3f3f3f3f; 6 int head[N],nc,list[N],f,r,dist[N],vis[N]; 7 struct Edge 8 { 9 int to,next;10 }edge[M];11 void ad 阅读全文
posted @ 2012-10-19 15:04 tmeteorj 阅读(230) 评论(0) 推荐(0)
 
 
上一页 1 2 3 4 5 6 ··· 21 下一页

公告


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