A HDU_2048 数塔dp入门题——数塔问题;求路径的最大和;状态方程:dp[i][j] = max(dp[i+1][j], dp[i+1][j+1])+a[i][j];dp[n][j] = a[n][j];其中dp[i][j]: 深度为i的第j个结点的最大和; 1 /* 2 Problem: ...
分类:
其他好文 时间:
2015-05-22 15:01:02
阅读次数:
152
题意:动态查询一段区间的和,支持单点更新。
开始刷线段树了,这是入门第一题。。。最基本的线段树操作,递归建树,递归查询,递归修改,向上更新节点,每个节点的值代表该节点对应区间的和 。
代码:
{CSDN:CODE:669947}...
分类:
其他好文 时间:
2015-05-19 13:10:15
阅读次数:
129
EK算法简介:http://www.wutianqi.com/?p=3107#include
#include
#include
using namespace std;
const int msize = 205;int N, M; // N--路径数, M--结点数
int r[msize][msize]; //...
分类:
其他好文 时间:
2015-05-19 10:45:07
阅读次数:
104
题意是:
??
Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀).
思路很简单,前缀数组入门题,对于每个结点,用val数组记录当前字符串为前缀的字符串数量,之后就是插入,查询操作了
代码如下: #include
#include
#include...
分类:
其他好文 时间:
2015-05-18 23:06:43
阅读次数:
152
//poj 1154
//sep9
#include
using namespace std;
const int maxR=32;
char a[maxR][maxR];
int r,s;
int ans=1;
int vis[200];
void dfs(int i,int j,int len)
{
ans=max(ans,len+1);
if(i+1<r&&vis[a[i+1][j]]...
分类:
其他好文 时间:
2015-05-12 01:45:19
阅读次数:
148
lct入门题?只需要Link Cut,不需要换根和维护其他标记 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 8 const int Maxn = 200010; ...
分类:
其他好文 时间:
2015-05-12 01:26:30
阅读次数:
97
lct入门题?得换根了吧TAT这大概不是很成熟的版本.. 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 8 const int Maxn = 10010; 9 10...
分类:
其他好文 时间:
2015-05-12 01:21:04
阅读次数:
117
Train Problem II 题目大意:给你一个数n,表示有n辆火车,编号从1到n,从远方驶过来,问你有多少种出站的可能。解题思路:模拟栈的问题而已。 卡特兰问题。 1 import java.math.*; 2 import java.util.*; ...
分类:
其他好文 时间:
2015-05-11 23:37:51
阅读次数:
133
一道bfs的题目,不敢说水..好吧,这题的确是入门题....因为自己做了快2小时..还是因为思维考虑的不全面的缘故;一开始把加减的情况都写在了一个循环里...交了一遍,WA..检查了挺久才检查出来的....把过程打印出来也有不靠谱的地方...后来分析了一下逻辑...发现之前的修改会影响到后面对数字的...
分类:
其他好文 时间:
2015-05-07 07:32:29
阅读次数:
139