Nyoj
Hearthougan
这个作者很懒,什么都没留下…
展开
-
Nyoj 10
转移方程:dp[i][j] = MAX(dp[i+1][j], dp[i-1][j], dp[i][j+1], dp[i][j-1]); #include <iostream>#include <cstring>using namespace std;const int MAXN = 110;int dir[4][2] = {{-1, 0}, {0,...原创 2014-03-13 12:23:51 · 639 阅读 · 0 评论 -
Nyoj 18 其实也就是杭电上的数塔
#include <iostream>#include <cstring>#include <cstdio>using namespace std;const int MAXN= 110;int MAX(int a, int b){ return a > b ? a : b;}int main(){ int dp[MAXN]...原创 2014-03-14 13:19:27 · 676 阅读 · 0 评论 -
NYoj 16
先排序,再用一下dp #include <iostream>#include <cstring>#include <algorithm>using namespace std;const int MAXN = 1010;struct Rectangle{ int len; int wide; Rectangle() { l...原创 2014-03-14 13:21:16 · 778 阅读 · 0 评论 -
Nyoj 36
#include <iostream>#include <cstring>using namespace std;const int MAXN = 1010;char str1[MAXN], str2[MAXN];int dp[MAXN][MAXN];int MAX(int a, int b){ return a > b ? a : b...原创 2014-03-14 13:17:48 · 675 阅读 · 0 评论 -
Nyoj 44
#include <iostream>#include <cstring>using namespace std;const int MAXN = 1000010;int main(){ int T; int n; int dp[MAXN]; int num, MAX; int i; cin>>T;...原创 2014-03-14 16:12:22 · 790 阅读 · 0 评论 -
Nyoj 37 回文字符串
求至少添加多少字符可以构成回文字符串(自身的逆转与自身的最长公共子序列,为其本身),如果把自身逆转,再求他们的最长公共子序列,那么用他们字符串长度减去最长公共子序列长度,即为所求。 #include <iostream>#include <cstring>using namespace std;const int MAXN = 1010;in...原创 2014-03-14 15:00:15 · 798 阅读 · 0 评论 -
Nyoj 49 开心的小明
#include <iostream>#include <cstring>using namespace std;const int MAXN1 = 30;const int MAXN2 = 30000;int main(){ int T; int Pri[MAXN1], Im[MAXN1]; int dp[MAXN2]; ...原创 2014-03-14 21:10:52 · 768 阅读 · 0 评论 -
Nyoj 76
#include <iostream>#include <cstring>using namespace std;const int MAXN = 50;int main(){ int dp[MAXN]; int i; int n; int T; cin>>T; while(T--) { cin>>n; mem...原创 2014-03-15 12:45:29 · 778 阅读 · 0 评论 -
Nyoj 61
这个是双线程dp,第一次接触这种类型的题,参考别人的思想写的。参考 #include <iostream>#include <cstring>using namespace std;int MAX(int a, int b){ return a > b ? a : b;}int main(){ int T; i...原创 2014-03-15 02:14:39 · 974 阅读 · 1 评论 -
RMQ (Range Minimum/Maximum Query)算法
1. 概述RMQ(Range Minimum/Maximum Query),即区间最值查询,是指这样一个问题:对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j<=n),返回数列A中下标在i,j之间的最小/大值。这两个问题是在实际应用中经常遇到的问题,下面介绍一下解决这两种问题的比较高效的算法。当然,该问题也可以用线段树(也叫区间树)解决,算法复杂度为:O(N)~O(logN...转载 2014-03-16 16:58:27 · 687 阅读 · 0 评论 -
NYOJ 110
哎,有个细节没注意到,一直折腾到现在! 编号为i的人能从所有人中胜出,必要条件是他能与自己“相遇”,即把环看成链,x点拆成两个在这条链的两端,中间的人全部被淘汰出局,x保持不败。这样,在连续几个人的链中,只须考虑头尾两个人能否胜利会师,中间的则不予考虑,从而少了一维状态表示量。设Meet_Matrix[i,j]记录i和j能否相遇,能相遇则为true,否则为false。Meet_Matri...原创 2014-03-16 14:12:59 · 648 阅读 · 0 评论 -
Nyoj 456
#include <iostream>#include <cstring>#include <cstdio>using namespace std;const int MAXN = 12;int num[MAXN];int totalvalue;bool DFS(int sum){ if(sum == totalvalue)...原创 2014-03-27 20:08:06 · 790 阅读 · 0 评论 -
Nyoj 171 聪明的kk
代码一:输入完再处理 #include <iostream>#include <cstdio>#include <cstring>using namespace std;const int MAXN = 25;//int Graph[MAXN][MAXN];int dp[MAXN][MAXN];int MAX(int a, int...原创 2014-03-17 21:03:01 · 800 阅读 · 0 评论 -
Nyoj 81 炮兵阵地
解题报告:1.算法 : (1)首先,看到这个题目想到的是暴力搜索,无所谓深搜还是宽搜,都需要对所有的情况进行穷举,10*100 的格子,这样穷举的话基本上会超时。想到用贪心法,但是贪心法的结果是不正确的。 (2)于是想到动态规划,动态规划的重点是找状态转移方程,需要状态记录的数组 f(因为最终要求的是大炮个数,所以 f 的值记录当前状态的大炮个数)。从题目的数据中来看因为 m<1...原创 2014-03-17 12:35:50 · 1263 阅读 · 0 评论 -
Nyoj 195
看了好久,楞没看懂题目什么意思!一顿抓狂!题目的意思是从(0, 0)飞到(n, m)点处,最短距离是多少。其中有的是可以走方格的对角线(即是捷径),如果一个方格不能走对角线,则只能走方格的两条边。 如果可以走捷径由于从一个点(x1, y1)到另一个点(x2, y2),那么x2 > x1 && y2 > y1,即每一列,每一行至多只可以走一条捷径,那么可以先...原创 2014-03-17 22:49:19 · 1054 阅读 · 1 评论 -
Nyoj 954 N!
题目来源:http://acm.nyist.net/JudgeOnline/problem.php?pid=954计算n!原创 2014-04-29 12:40:09 · 1042 阅读 · 0 评论 -
Nyoj 97 兄弟郊游问题
题目来源:http://acm.nyist.net/JudgeOnline/problem.php?pid=97原创 2014-04-29 13:06:09 · 814 阅读 · 0 评论 -
Nyoj 102 次方求模
题目来源:http://acm.nyist.net/JudgeOnline/problem.php?pid=102原创 2014-04-29 17:33:05 · 716 阅读 · 0 评论 -
Nyoj 613 免费馅饼
#include <stdio.h>#include <string.h>#define MAXN 100010int MAX(int a, int b, int c){ return ((a > b ? a : b) > c ? (a > b ? a : b) : c);}int main(){ int dp[...原创 2014-03-28 17:17:50 · 880 阅读 · 0 评论 -
Nyoj 105 九的余数
题目来源:http://acm.nyist.net/JudgeOnline/problem.php?pid=105原创 2014-04-29 18:08:08 · 844 阅读 · 0 评论 -
Nyoj 712 探 寻 宝 藏
双线程dp,可以看成两个人同时从同一个地点出发沿着相同的方向出发,要保证保证两个人的线路不能相交!如果人1和人2在相同的行或者相同列,那么他们一定会在相同的列或者行,因此保证他们不在相同的行,就可以保证他们的线路不会相交!dp[k][i][j] 表示:走到第k步,机器人1走到第i行,机器人2走到第j行时所得到的最大的宝藏数!机器人1所在的列就表示成k-i,同理机器人2所在的列就为k-j,其中k...原创 2014-03-29 11:41:48 · 962 阅读 · 0 评论 -
Nyoj 708 Ones
#include <iostream>#include <cstring>#include <cstdio>using namespace std;const int MAXN = 10010;int dp[MAXN];int MIN(int a, int b){ return a < b ? a : b;}void ...原创 2014-03-28 21:35:57 · 916 阅读 · 0 评论 -
nyoj 139 我排第几个
题目来源:http://acm.nyist.net/JudgeOnline/problem.php?pid=139康托展开,可以参考百度百科!原创 2014-04-29 22:00:00 · 1375 阅读 · 0 评论 -
nyoj 151 Biorhythms
题目来源:http://acm.nyist.net/JudgeOnline/problem.php?pid=151#include #include #include #include using namespace std;void ExGcd(int a, int b, int &x, int &y){ if(b == 0) { x = 1原创 2014-04-30 20:45:51 · 852 阅读 · 0 评论 -
Nyoj 219
这里偷工减料了,用蔡勒公式直接代入了!蔡勒公式: W =(〔 [c/4] - 2c + y + [y/4] + [13 * (m+1) / 5] + d - 1 〕% 7 + 7)% 7;其中:c为年份的前两位数,y为年份的后两位数,m为月份,d为天数; 注:如果月份为1月份或者是二月份,则要算到上一年中去!输入输出要用scanf和printf否则会超时!由此可见,关键时...原创 2014-03-18 21:32:25 · 838 阅读 · 0 评论 -
poj 3233 Matrix Power Series nyoj 299
题目来源:http://poj.org/problem?id=3233题目来源:原创 2014-05-01 18:43:06 · 812 阅读 · 0 评论 -
Code Jam Problem D. GoroSort
题目来源:https://code.google.com/codejam/contest/dashboard?c=975485#s=p3题目感觉非常不错,原创 2014-05-01 11:56:36 · 676 阅读 · 0 评论 -
nyoj 298 点的变换
题目来源:http://acm.nyist.net/JudgeOnline/problem.php?pid=298原创 2014-05-01 15:00:39 · 830 阅读 · 0 评论 -
Nyoj 791
#include <iostream>#include <cstdio>#include <cstring>using namespace std;int main(){ int V, i, j; int arr[10]; while(~scanf("%d", &V)) { int MI...原创 2014-03-31 21:52:51 · 909 阅读 · 0 评论 -
Nyoj 234 吃土豆
/**#include <iostream>#include <cstring>#include <cstdio>using namespace std;const int MAXN = 510;int MAX(int a, int b){ return a > b ? a : b;}int main(){ int row...原创 2014-03-21 15:31:20 · 788 阅读 · 0 评论 -
nyoj 232
长和宽按降序排列,最后找出最长降序子序列; #include <iostream>#include <cstdio>#include <algorithm>#include <cstring>using namespace std;const int MAXN = 100;struct Edge_Of_Rectangle...原创 2014-03-21 11:44:47 · 566 阅读 · 0 评论 -
Nyoj 38 布线问题
题目来源:http://acm.nyist.net/JudgeOnline/problem.php?pid=38Kruscal,最小成树木原创 2014-04-16 21:47:09 · 627 阅读 · 0 评论 -
hdu 2604 Queuing
题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=2604有n原创 2014-05-02 13:10:53 · 946 阅读 · 0 评论 -
nyoj 333 mdd的烦恼
题目来源:http://acm.nyist.net/JudgeOnline/problem.php?pid=333#include #include #include using namespace std;int Slove_Euler(int n){ int i, res; res = n; for(i = 2; i*i <= n; ++i)原创 2014-05-03 12:57:38 · 909 阅读 · 0 评论 -
nyoj 408 Board Game Dice
题目来源:http://acm.nyist.net/JudgeOnline/problem.php?pid=408原创 2014-05-03 15:41:23 · 717 阅读 · 0 评论 -
nyoj 420 p次方求和
题目来源:http://acm.nyist.net/JudgeOnline/problem.php?pid=420原创 2014-05-03 16:12:12 · 898 阅读 · 0 评论 -
nyoj 461
题目来源:http://acm.nyist.net/JudgeOnline/problem.php?pid=461原创 2014-05-03 16:55:58 · 882 阅读 · 0 评论 -
nyoj 330 一个简单的数学题
题目来源:http://acm.nyist.net/JudgeOnline/problem.php?pid=330原创 2014-05-03 12:00:40 · 817 阅读 · 0 评论 -
Nyoj 6 喷水装置(一)
题目来源:http://acm.nyist.net/JudgeOnline/problem.php?pid=6贪心原创 2014-04-17 14:33:57 · 555 阅读 · 0 评论 -
Nyoj 252
dp[k],表示长度为k满足题目条件的‘01’串,有几个。如果第k位为0,则dp[k] = dp[k-1],如果第k位为1,那么第k-1位一定为0,则dp[k] = dp[k-2]; #include <iostream>#include <cstring>#include <cstdio>using namespace std;const...原创 2014-03-23 10:28:57 · 929 阅读 · 0 评论