导航

10 2015 档案

摘要:题意:某货旅行,在n个城市呆m天。给出从第i个城市到第j个城市的路费,或者留在某个城市的生活费。给出在第i天在第j个城市的收益。可以在城市之间任意穿梭逗留没有其他特殊要求。求收益最大是多少。思路:dp[i][j]代表这货在第i天在第j个城市的最大收益。然后状态转移方程是dp[i][j]=max(dp... 阅读全文

posted @ 2015-10-23 20:46 tun~ 阅读(193) 评论(0) 推荐(0)

摘要:题意:给三个字符串,判断前两个在相对顺序不变的情况下是否可以组成第三个字符串。思路:先说屌丝:dp[i][j]代表1串的前i个和2串的前j个字符在3串的前i+j个字符中最多能够组合出几个字符。然后状态转移是:如果stra[i]==strc[i+j]则,dp[i][j]=max(dp[i][j],dp... 阅读全文

posted @ 2015-10-23 20:39 tun~ 阅读(183) 评论(0) 推荐(0)

摘要:题意:给一个正的不大于10的偶数n,求n个数字组成的数字串前n/2位和后n/2位的和相等的个数。思路:dp[i][j]由i位数组成的和为j的数字串的个数。dp[i][j]+=dp[i-1][j-k];最后排列组合一下。#includelong long dp[6][50];int main(){ ... 阅读全文

posted @ 2015-10-22 20:36 tun~ 阅读(131) 评论(0) 推荐(0)

摘要:POJ 1257 阅读全文

posted @ 2015-10-22 19:41 tun~ 阅读(104) 评论(0) 推荐(0)

摘要:题意:给你空钱袋的质量和装满钱的钱袋的质量。给你先行的n种货币的面值和质量。问钱包里的钱最少是多少。如果质量不可行,输出impossible。思路:完全背包。屌丝有个地方没想通,就是如何确定是否是impossible。其实一开始先初始化成inf,然后只要可行的点都会更新dp数组。所以最后如果仍是in... 阅读全文

posted @ 2015-10-21 21:25 tun~ 阅读(109) 评论(0) 推荐(0)

摘要:题意:中文。思路:先初步处理,用give-take求出每个城市剩的钱。求解问题转化成使得和不小于0的最长连续字串。枚举起点,然后当该起点加的和为负时开始枚举下一起点。(这个状态的转移)2WA原因:因为扩展了2倍的点使得求解的最长连续的点有可能大于n。#include#include#includeu... 阅读全文

posted @ 2015-10-21 20:35 tun~ 阅读(139) 评论(0) 推荐(0)

摘要:题意:中文。思路:这题不是自己的思想。当对第i个点的最优值进行求解的时候一定存在最后一个加油的点j。这里j直接枚举。另外将0和n+1个加油站定义为起点和终点。dp需要加强训练。#include#include#includeusing namespace std;const int inf=0x3f... 阅读全文

posted @ 2015-10-21 19:54 tun~ 阅读(152) 评论(0) 推荐(0)

摘要:题意:在一个n*m的矩阵中有两只虫子,一只从左上角向右下角移动,另外一只从左下角向右上角移动。要求:1.第一只虫子每次只能向左或者向下移动一格,另外一只只能向上或者向右移动一格。2.两只虫子的路径最多只能重合一点。3.求解两只虫子路径中除去重合那点其余各点的权值之和最大。思路:1.显然这题需要枚举所... 阅读全文

posted @ 2015-10-20 19:06 tun~ 阅读(435) 评论(0) 推荐(0)

摘要:题意:给定三个数分别是:人数 间隔 起点题目中人的编号从1开始。在进行约瑟夫环的判定之后,求解最后能够活下来的人。思路:约瑟夫环的递推公式是f[n]=(f[n-1]+jiangeshu)%zongrenshu.f[1]=0.注意公式中的人是从0开始编号的。由于给定了起点所以需要修正偏移。这里我... 阅读全文

posted @ 2015-10-20 18:56 tun~ 阅读(159) 评论(0) 推荐(0)

摘要:题意:中文。思路:不难发现数学规律是这样的,每次增加的划分区域的数量是每次增加的交点的数量再加一。然后就总结出了递推公式。#includelong long ans[10005];int main(){ ans[1]=2; long long tmp=2; for(int i=2;... 阅读全文

posted @ 2015-10-20 18:49 tun~ 阅读(140) 评论(0) 推荐(0)

摘要:题意:给你一些单词,判断这些单词能否在保证首尾单词相同的情况下连成一排。如果有多组解,输出字典序最小的一组解。这题...WA了两天。错误有以下:1.没有初始化好起始位置,默认起始位置是a了。想想想如果单词中都不带a开头的不就傻逼了吗。2.没有理解好字典序,觉得只要保证每次都从尽量小的字母开始往下搜索... 阅读全文

posted @ 2015-10-13 21:34 tun~ 阅读(193) 评论(0) 推荐(0)

摘要:题意:给一些无序的数字,求解一个矩阵,使得矩阵的每一个元素都是行和列标志数的gcd,输出行标志数。首先对数字进行排序。复杂度n*log(n^2)。这题的证明有官方的英文题解==在这直接贴英文题解...这题我事后自己反思了一下,其实思路并不难,而且一开始自己思考的方向也对。问题出在两方面:1.对平衡树... 阅读全文

posted @ 2015-10-11 20:44 tun~ 阅读(224) 评论(0) 推荐(0)

摘要:int gcd(int a,int b){ return b==0?a:gcd(b,a%b);} 阅读全文

posted @ 2015-10-11 20:33 tun~ 阅读(213) 评论(0) 推荐(0)

摘要:题意:1.提供密码的位数。2.密码的输入可以一直保持,取后n位作为密码。如果密码正确则开锁。3.设计一种方法使得在输入最少的情况下破译。(即保证每个密码只输入一次)4.输出输入的数字的序列。思路:去密码的前n-1位作为状态节点,将n位数密码作为边。建造有向图。显然,每个点的入度和出度都为10,则一定... 阅读全文

posted @ 2015-10-09 21:02 tun~ 阅读(365) 评论(0) 推荐(0)

摘要:题意:有很多棒子,两端有颜色,告诉你两端的颜色,让你把这些棒子拼接起来要求相邻的接点的两个颜色是一样的。问能否拼接成功。思路:将颜色看作节点,将棒子看作边,寻找欧拉通路。保证图的连通性的时候用到并查集。这里颜色由于是字符串代替,所以需要用到字典树优化离散化过程。字典树的学习感谢博客http://ww... 阅读全文

posted @ 2015-10-07 19:26 tun~ 阅读(171) 评论(0) 推荐(0)

摘要:对于无向图存在欧拉通路的充分必要条件是有0个或者2个节点的度是奇数。(若存在两个奇数点,则这两个点一定是端点)存在欧拉回路的充分必要条件是有0个点的度是偶数。对于有向图存在欧拉通路的充分必要条件是所有节点的出度和入度都相等,或存在一个节点出度入度只差为1并且存在另外一节点出度入度差为-1.(出度多的... 阅读全文

posted @ 2015-10-07 19:15 tun~ 阅读(169) 评论(0) 推荐(0)

摘要:问了某明==shit中文题意不解释。因为数据的范围是1e9以内的所以我们可以通过二分的方法枚举可能的中位数。用二分法每次判断某一数字比中位数大还是比中位数小。判断方法是,枚举以第n个数为起点的差值,累计差值大于该该数字的数量。这里用到lower_bound进行统计==(这里也是二分)具体解释看代码.... 阅读全文

posted @ 2015-10-07 16:37 tun~ 阅读(167) 评论(0) 推荐(0)

摘要:好吧终于知道什么是“高大上”的差分约束了。嗷嗷题意:小朋友们分糖果,某个小朋友不想另外一个小朋友分到的糖果数比自己多N块以上。求编号为N的小朋友最多比编号为1的小朋友多分多少块糖果。思路:差分约束,用最短路做。这题用SPFA.查分约束的学习感谢博客:http://www.cnblogs.com/vo... 阅读全文

posted @ 2015-10-02 10:02 tun~ 阅读(144) 评论(0) 推荐(0)

摘要:题意:copy自http://blog.csdn.net/monkey_little/article/details/6637805有A个村子和B个城堡,村子标号是1~A,城堡标号是A+1~B。马里奥现在位于城堡B,他要带公主回到村子1,他有一双靴子,穿上之后可以不用时间就能从一个地方飞到另外一个地... 阅读全文

posted @ 2015-10-02 07:05 tun~ 阅读(242) 评论(0) 推荐(0)