摘要:
状态转移公式:dp[i][j] = max(dp[i-1][j] , dp[i-1][j - vol[i]] + val[i])在体积为j 时放入第i 件物品的最大价值, 其中val[i] 表示物品i 的价值, vol[i] 表示i 所占空间。80204302013-04-07 12:54:12Accepted2602125MS4220K1510 BC++罗维二维数组 1 /* 2 hdu2602 3 dp[i][j] 表示放入第i项物品体积为j的最大价值 4 思路: 5 将前i件物品放入容量为v的背包中”这个子问题,若只考虑第i件物品的策略 6 (放... 阅读全文
摘要:
中文题http://202.197.224.59/OnlineJudge2/index.php/Problem/read/id/1154一个八位,前三位表示个数,后五位表示字母000 0000, 注意前三位000 表示1个字母 , 后五位00000 表示字母a由于4位二进制表示一个十六进制.如:001 00000 表示2个a,即aa,所以前面的三位只要乘以2就是了,后面的一位在加上就可以了.如:101 1 知道前三位的十进制为5 ,那么该数为5*2 + 1而后面的四位则需要减去高位的数字才是后四位数,若高位为1,则减去16(2^4).如:1 1010 十进制26 - 16 = 10PS: 9个 阅读全文
摘要:
中文题http://202.197.224.59/OnlineJudge2/index.php/Problem/read/id/115015070ny_lv101150Accepted936 KB0 MSC++1453 B2013-03-10 21:26:53View Code 1 /* 2 http://202.197.224.59/OnlineJudge2/index.php/Problem/read/id/1150 3 题目描述 4 胡大加工厂出产一种特殊零件。某天,客户到厂来查看零件。工厂生产的零件有三个质量等级从高到低分别为A、B、C,但是流水线上的零件质量参差不齐。为了给... 阅读全文
摘要:
题意:求点1 到其他点的最短路径,然后取它们中的最大值即可由于矩阵是对称的,所以题目只给了一个下三角矩阵。矩阵如下12345105030100102500520x3305050x41002050010510xx10011313383NY_lv101502Accepted276K16MSC++1269B2013-03-05 11:28:10View Code 1 #include <iostream> 2 #include <vector> 3 using namespace std; 4 5 #define MAX(a,b) ((a)>(b)?(a):(b)) 6 阅读全文
摘要:
题意:给定N个坐标点, 现在要求出在共线的点的个数,输出最大值思路:利用叉积,三点共线问题。点a1, a2, a3, a4,a5.....an;依次求任意两点组成的向量P , 与P共线的点的个数。叉积:向量P,向量Q 若P * Q == 0 则说明向量P , 和Q 共线。 P (x1, y1), Q(x2, y2) P * Q = x1*y2- x2*y1;11306536NY_lv101118Accepted256K469MSC++504B2013-03-03 15:03:50叉积,共线 1 #include <iostream> 2 using namespace std;.. 阅读全文
摘要:
方法1:系统不认识这个命令咯,需要把bin这个文件夹的绝对路径加到环境变量path中。如,我机器上mysql下的bin绝对路径:C:\Program Files\phpStudy\MySQL\bin我的电脑右击,选择属性->高级->环境变量,在系统变量列表中找到path,添加;C:\Program Files\phpStudy\MySQL\bin 再试试就可以了方法2:直接点击mysql console进入下面界面输入密码 阅读全文
摘要:
环的编号是从1 到 n, 初始时1 已经出环, 则剩下的就是2 到n 的一个环.求最后出环是2 的最小m.(原文地址:http://www.cnblogs.com/yangyh/archive/2011/10/30/2229517.html)假设下标从0开始,0,1,2 .. m-1共m个人,从1开始报数,报到k则此人从环出退出,问最后剩下的一个人的编号是多少?现在假设m=100 1 2 3 4 5 6 7 8 9 k=3第一个人出列后的序列为:0 1 3 4 5 6 7 8 9即:3 4 5 6 7 8 9 0 1(*)我们把该式转化为:0 1 2 3 4 5 6 7 8 (**)则你会发. 阅读全文
摘要:
问题描述: 多边形面积问题(1-9表示各个方向) North789West456East123South思路:将多边形两两相邻的点与原点相连组成多个三角形然后求三角形面积三角形面积等于两边的向量的叉积 : 设边向量A(x1, y1) B(x2, y2) 则面积Area = 1/2(x1*y2 - y1*y2)11068134NY_lv101654Accepted940K32MSC++861B2012-12-01 14:14:38View Code 1 /*根据面积公式,Area=1/2*abs((x0*y1-x1*y0)+(x1*y2-x2*y1)...+(xn*yn-1-xn-1*yn... 阅读全文
摘要:
题意:从顶点走到最底,第 map[i][j] 层位置到第 i+1 层,只能走map[i+1][j] 或者是 map[i+1][j+1].思路:简单DP, 倒推上去, 求走到第 map[i][j] 这个位置的最大值, 那么 map[i][j] = GetMax(map[i-1][j] , map[i-1][j-1]);11040124NY_lv103176Accepted892K157MSC++828B2012-11-22 18:34:33View Code 1 #include <iostream> 2 using namespace std; 3 4 int maxx; 5 in 阅读全文
摘要:
题意:中文题思路:逐点累加法71833882012-11-17 21:21:31Accepted20670MS284K407 BC++罗维View Code 1 #include <iostream> 2 using namespace std; 3 4 int main() 5 { 6 __int64 map[40][40]; //int64伤不起 7 int n, i, j; 8 int t=1; 9 while (scanf("%d",&n) && n!=-1)10 {11 memset(map, 0, sizeof(ma... 阅读全文
摘要:
原文地址http://www.2cto.com/kf/201210/164253.html 该题就是求一个字符串的最长回文子串,就是一个满足本身是回文的最长的子串。该题貌似可以用后缀数组和扩展kmp做,但是好像后缀数组貌似会tle,改学了下一个专门的叫Manacher算法的东西。。。 该算法说起来也不是太复杂,比较容易看懂的那种,当然是接触过其它字符串算法的前提下了。记得以前就看了看,硬是没看懂,想不到现在这么快就明白了。 该算法需要额外的O(N)空间。说起来是空间换时间吧。 大概的思路是先预处理字符串,使其成为一个长度一定为偶数的串。而且第一个字符是'$',假设'$& 阅读全文
摘要:
题意:输入一个数n, 求a <= n 满足方程式a^3 = b^3 + c^3 + d^3 的所有解。11000672NY_lv101543Accepted216K32MSC++452B2012-11-09 18:33:09View Code 1 #include <iostream> 2 //#include <fstream> 3 using namespace std; 4 5 //ofstream out("1.txt"); 6 int main() 7 { 8 int a, b, c, d; 9 int n;10 while (cin 阅读全文
摘要:
题意: S (((()()()))) P-sequence 4 5 6666 W-sequence 1 1 1456p 序列: 右括号前面一共有几个左括号;w 序列: 与该右括号括号匹配之后里面有几个左括号(第三个右括号与第三个括号匹配)思路: 模拟10998040NY_lv101068Accepted224K0MSC++875B2012-11-08 20:30:59View Code 1 #include <iostream> 2 #include <vector> 3 using namespace std; 4 5 vector<int> arr; 6 阅读全文
摘要:
题意:逻辑运算题,最多有5个变量,依次枚举就可以AC了kANCEa && ba || b!a!a || ba ==b思路:之前是用递归写的,但是WA或是超时,郁闷。。。后来在网上参考了别人的代码,用栈一次AC。10962407NY_lv103295Accepted208K16MSC++1648B2012-10-27 20:08:57用栈AC代码#include <iostream>#include <stack>//#include <fstream>#include <string>using namespace std;//o 阅读全文
摘要:
题意: 4*4的矩阵, “+”表示关闭, “—”表示开启, 当改变一个位置的时候,其所在的行和列都会取反,求最少需要多少步能将其全部置为“-”。思路:暴力枚举+BFS。 先写一个异或的数组,然后依次异或。 其中用pt 保存路径。10957265NY_lv102965Accepted1240K938MSC++1103B2012-10-26 11:24:33View Code #include <iostream>#include <queue>using namespace std;int chang[] = { 63624, 62532, 61986, 61713, 3 阅读全文
摘要:
题意:给定n, p, 求pow(p, 1/n)10955211NY_lv102109Accepted196K0MSC++192B2012-10-25 18:56:50View Code #include <iostream>#include <math.h>using namespace std;int main(){ double n, p; while (scanf("%lf %lf", &n, &p) !=EOF) { printf("%0.0lf\n", pow(p, 1/n)); } return 0;} 阅读全文
摘要:
题意: 海上有一些岛屿(数目为n),需要在岸边(x 轴)修建一些雷达站覆盖这些岛屿,雷达的覆盖范围是d , 求最少需要多少雷达。思路:求出每个岛屿能被雷达覆盖的,雷达可以放置的最左边和最右边位置,然后将每个岛屿按照左边的位置排序,放置雷达。10955167NY_lv101328Accepted300K47MSC++1092B2012-10-25 18:45:07View Code #include<iostream>#include<algorithm>#include<vector>#include<math.h>using namespace 阅读全文
摘要:
题意: 老鼠有m 磅猫粮, 有n 个房间,每个房间有j[i] 磅javaben, 求老鼠能够最多能换取多少javabean,交换规则是:用 f[i] *a% 换得j[i] * a% 磅javaben.如:j[i] = 7, f[i] = 2, 那么老鼠只要拿2 磅的猫粮就可以换7 磅的javaben, 那1 磅猫粮可以换3.5 磅 javaben,以此类推。思路: 说是简单贪心,每个房间求一个scale = f[i] / j[i], 从最大的scale 换起,思路很明显, 就是一些细节没考虑的啊,WA了无数次,%>_<%。。。WA: 1.是数据类型定义错了。 2.然后是没有考虑到当 阅读全文
摘要:
题意:一个4 * 4 的棋盘, 翻转一个点的时候其上下左右都会翻转,求将它们翻转成相同的颜色至少要多少步(全部置为白棋或者是黑棋)。思路:纯 BFS,有一点小技巧,很巧妙的将棋盘的黑白转换成0101,然后用异或取反。10945224NY_lv101753Accepted564K32MSC++988B2012-10-23 09:53:08View Code #include <iostream>#include <queue>using namespace std;int arr[16]={0xc800,0xe400,0x7200,0x3100,0x8c80,0x4e40 阅读全文
摘要:
题意: 给定一个数组序列,求连续的一段子序列之和最大,并输出其和以及起始位置和终止位置。思路:第一道DP题目,sum[i] 表示以i 为终点的最大和,起始位置用st[i]保存。69595682012-10-21 10:29:52Accepted100315MS1392K732 BC++罗维View Code #include <iostream>using namespace std;#define N 100002int a[N];int sum[N]; //以sum[i] 为终点的最大值int st[N]; //以位置i向前扩展int main(){ int t, n; ... 阅读全文
摘要:
题意:给一个树组,长度为1,2,3。。。n ,求全排序里面第m小的序列。思路:调用库函数next_permutation 水过其中库中另一函数prev_permutation与next_permutation相反,由原排列得到字典序中上一次最近排列。69395642012-10-18 11:10:31Accepted102731MS260K306 BC++罗维View Code 1 #include <iostream> 2 #include <algorithm> 3 using namespace std; 4 5 int main() 6 { 7 int f[10 阅读全文
摘要:
题意:质数环,相邻的两个数加起来要是质数,这些数只能从2 - n 里面选择。解题思路:纯 DFS ,需要注意的是最后一个数,和第一个数连在一起了所以还有判断arr[n-1] + arr[0] 是不是质数。分类:DFS69245082012-10-15 19:26:15Accepted1016906MS260K996 BC++罗维View Code 1 #include <iostream> 2 #include <memory.h> 3 using namespace std; 4 5 int n; 6 int arr[30]; 7 bool used[30]; 8 9 阅读全文
摘要:
题意: 大致是给一个数 target, 和一个字符串 str, 然后从字符串str 中选择五个字母满足方程v - w^2 + x^3 - y^4 + z^5 = target 即可,但是在此之前需要给字符串排下序(这个地方纠结了好久,在网上看了资料才明白要排序,尼玛)解题思路:字符串最多才12,果断DFS 水过了。分类: DFS ,类似于背包问题。69242932012-10-15 18:57:36Accepted1015109MS256K950 BC++罗维View Code 1 #include <iostream> 2 #include <algorithm> 3 阅读全文
摘要:
题意:一个N * M 的迷宫, 起点为S, 终点为D , 障碍为X, 问你是否恰好花费时间T 的时候到达终点D。思路:DFS ,纯粹的搜索会直接超时, 所以需要通过剪枝, 也是在网上看到别人说奇偶剪枝,加进去直接AC了。69234052012-10-15 15:09:01Accepted1010640MS256K1465 BC++罗维View Code 1 #include <iostream> 2 #include <string> 3 #include <vector> 4 #include <math.h> 5 using namespac 阅读全文
摘要:
PresentationError 输出格式错误while (scanf("%d" &n) != EOF) 阅读全文
摘要:
View Code 1 /* 2 Sum Problem 3 4 Time Limit: 1000/500 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) 5 Total Submission(s): 171363 Accepted Submission(s): 40796 6 7 8 Problem Description 9 Hey, welcome to HDOJ(Hangzhou Dianzi University Online Judge).10 11 In this problem, your... 阅读全文
摘要:
View Code 1 /* 2 A + B Problem 3 4 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) 5 Total Submission(s): 242043 Accepted Submission(s): 71455 6 7 Problem Description 8 Calculate A + B. 9 10 Input11 Each line will contain two integers A and B. Process to en... 阅读全文
摘要:
今天开始,好好把握这剩下的一年的时间。 阅读全文