- 博客(12)
- 资源 (1)
- 收藏
- 关注
原创 HDU 5230
DP要么自己想出来,要么看着别人的思路想出来,最好不要看着代码去理逻辑。毕竟是数学。题解讲的挺清楚的。。。。。dp[i][j]表示数i被分成j个不相同的部分。那么:dp[i+j][j]+=dp[i][j]dp[i+j+1][j+1]+=dp[i][j]可以发现j+1仅和j有关,可以用滚动数组。可以发现,要把每个数拆成j个part的结果先算出来才能算下一个part的。#i
2015-05-27 09:15:01 432
原创 POJ 2528 【线段树--离散化,区间覆盖】
这道题想了挺久的。。。。 TAT听说POJ这道题的数据奇弱,所以有一种常见的离散方法也是可以过得,但是有错。转:**********************************************************************给出下面两个简单的例子应该能体现普通离散化的缺陷:例子一:1-10 1-4 5-10例子二:1-10 1-4 6-10普
2015-05-21 14:02:54 447
原创 POJ 3468 【线段树区间更新-成段更新】
给定序列,给M次询问,两种操作,C L,R,X,在[l,r]每个数增加X,Q L,R 询问[l,r]总和。注意两点,在update 和 query的时候都是需要push_down的。然后是,注意每个push_down子树增加的量是vis[rt]不是vis[rt#include //HDU 3468#define llt long long#define maxn 100010l
2015-05-20 21:02:21 366
原创 HDU 1698 【线段树区间更新】
之前一直觉得自己线段树敲得很熟练,然后。。。某天。。。是的,就是我的数据结构周开始的时候我发现。。。我特么才会单点更新是怎么回事!只会区间查找是肿么回事!!摔!恩。。。就是表达一下弱渣的心情。。。。区间更新,用到延迟操作。延迟操作应该是这么回事。线段树的优越性就是体现在,第一是二分查找,第二是区间操作。当我们需要多次对区间进行操作的时候,如果每次都更新每个区间内的每个节点,那么线段树的
2015-05-20 16:36:35 463
原创 HDU 5229 【水题】
没得讲。。为什么这么简单自己想不到。。。题解讲得挺明白的了,没什么坑点。#include #include #include using namespace std;mapque;int a[2];int gcd(int a,int b){ return b?gcd(b,a%b):a;}void init(){ que.clear(); a[0]
2015-05-18 17:18:20 329
原创 HDU 5228 【水题】
觉得自己真是猪脑壳。。。数据很小,所以可以考虑暴力。枚举出现同花顺的每种情况,然后与输入的数据进行比较,找两者的交集。恩。然后之前想得好复杂。。用什么DP,,什么奇技淫巧。。我是傻逼。#include #include #include using namespace std;string a[10],s[10];string cal(int x){ strin
2015-05-18 14:53:53 407
原创 HDU 2586 【LCA-Tarjan-模板】
模板题。利用DFS的时候,由于是类似于树的后序遍历,所以处理到每个根节点的时候,他的子树已经处理完毕了。如果子树上有一个节点是被询问的节点,如果对应的另一个被询问节点也在这颗子树上,那么一定能找到,并且一定是正解。最近的根节点就是最先遍历到的那个节点的祖先节点(已经通过并查集压缩)。然而这道题也搞了好久,原因是我自己懒。。然后对于并查集和Tarjan还不是很熟。。恩,然后这道题需要扩栈
2015-05-15 16:01:48 407
原创 POJ 1330 最近公共祖先LCA_Tarjan 【水】
最近打算狂撸一下图论和数据结构的题。当是复习数据结构!但是每天都感觉好困。。。。QAQ。。。。这就是到裸的CLA。。。。并且只查询一次,所以难度降低了很多。如果是二叉树还有其他方法。Tarjan的思想觉得自己没有太明白,理解的时候不是很。。。恩。#include #include #include using namespace std;#define maxn 1
2015-05-14 21:32:04 486
原创 HDU5226 【LUCAS定理】
(⊙v⊙)嗯。其实这题我是看了题解才开始做的。然后又DEBUG了几个小时。。。。发现以前居然没有实际意义上的DEBUG过。!!真的是惭愧。现在终于明白对着一个WA掉得代码debug上几个小时真的是!!!多么的有意义!!!!【摔!】第一是感觉自己真的真的想问题不是很周到。所以我这种就是高中的时候做那种“1. a第二是DEBUG需要方向。捋一捋DEBUG的思路。错了就应该先思考是不是思
2015-05-13 15:49:41 588
原创 BC-40 HDU5225 HDU 5226 【水】
第一题,给你一个矩形的面积,求矩形的最小周长。可知,当两边长最接近的时候,周长最小。所以可以从sqrt(s)开始枚举,如果能够整除,就输出计算的周长#include #include #define ll __int64int main(){ int T; scanf("%d",&T); while(T--) { ll n;
2015-05-10 12:52:42 703
原创 HUFFMAN编码进行压缩---【数据结构】
说到HUFFMAN编码可以用来进行压缩,然后就想试试。拖了一周才开始写。纠结了两天。现在有点样子了,但是。。有BUG。。。有的时候可以有的时候不可以。。。。正在找原因。对文件操作和计算机原理这一块还不是很熟。理一下思路吧。先从一个文件中读取数据,进行频数统计,然后根据统计的频数建立HUFFMAN树。再扫描一遍文件,利用HUFFMAN树进行编码。此处有技巧!因为要进行压缩,所以对于每个字符的
2015-05-06 20:00:10 754
原创 ZOJ 3847 AC自动机+dp 【MLE】
题意:给你一个带字母的地图,给你n个字符串,要求走完任意一串字符串的最小步数。走的时候碰到的字母必须要收纳至少一个。我我我。。。。。学AC自动机的时候会很奇怪的MLE掉,觉得和模板都是一毛一样的了。。。!!!所以这里也是。。。但是这个坑拖得有点久了,所以先放在这里吧,,真的要死掉了!!怎么会MLE呢???!!!#include #include #include using na
2015-05-02 12:55:43 509
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人