自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

用心一也

君子曰 学不可以已

  • 博客(39)
  • 收藏
  • 关注

原创 Codeforces Round 232 Div 1 C On Changing Tree 树状数组 或 线段树

题目地址http://codeforces.com/problemset/problem/396/C树状数组,对于搞括号序列还是有一手的,关键是因为括号序列的题老是逮着某个点询问,而他的更新又往往是涉及一棵子树。当然,树状数组的更新也要满足可加性的。对于向某棵子树上的节点均增加 X 这种操作,我们可以在括号序列的左端点增加x,右端点+1处增加 -x,这样查询到内部的时候就会增加x,

2014-02-28 22:33:48 577

原创 POJ 1845 约数和

这道题 题目描述及其简单给出 a ,b 求 a^b 所有约数 % 9901 的数是多少。首先,a 可能不是个质数,可能有 f1 f2 .. fn 个因数所以要先分解a, 然后 使用约数和公式公式及其证明 http://blog.csdn.net/u012935901/article/details/20144899最后 在约束和公式中要用到等比数列求和,因为等比数列和涉及到除法

2014-02-28 17:38:37 539 1

转载 约数和公式 及其 证明 。。小学奥数啊 摔~

为了便于理解,举个具体例子来说明。72共有多少个不同的约数?所有约数的和是多少?分析:我们已经学过了怎样求一个数的约数,可以写出72的全部约数有:1,2,3,4,6,8,9,12,18,24,36,72我们不妨仔细来分析一下上面这些数。首先,我们将72分解质因数:72=2×2×2×3×3=23×32,然后我们将它的所有约数分分类,如下图:

2014-02-28 16:38:50 4665 1

原创 ACMer 的三个阶段

人生就是这样,经过一个又是一个的路口。不断前进着。不断仰望着。我喜欢挑战,我喜欢那种原来不会,突然之间顿悟的酣畅,这种感觉,是面对那些白痴到好像自己天生就会的问题时永远也体会不到的。玩这个竞赛,就好像是目标是冲出太阳系,而自己现在只不过爬到了某个小山的山顶,虽然感觉已经走了好远,可是对于目标来说,实在是不值一提。这种感觉很有趣,因为,前方还有那么多的路要走,不知道还会发现什么样的风景。

2014-02-28 13:13:28 670 1

原创 POJ 3292 数论

判断半素数。我们操作的是 4n+1 这个自然数的子集。然后,枚举就是了。。。但是 关键是 你判断一个数是不是半素数的时候从一个 i 来枚举 其 j 倍,如果 j 也是素数,那么 i*j 就是半素数如果 j 还没有筛到怎么办?没有筛到,我判定他为合数,一大一小,筛到大的哪个的时候,肯定小的已经筛过了,自然就判断对了#include #include #in

2014-02-27 23:15:29 486

原创 POJ 2635 高精度MOD 和 乱搞的进制转换

转换成 10000 进制的可以少做很多次 % , 然后就 AC了。不然 TLE#include #include #include #include #include #include #include using namespace std;#define MAX 1100000 #define INF 0x3f3f3f3f#define MS(x) memset(x

2014-02-27 20:43:51 565

原创 有些高度,是真的到不了的

人总有极限,自己也是人。以前看到 sha崽 totalfrank  watashi 那种高中没怎么搞过竞赛,大学开始搞就很快达到很高成就的人,总是感觉非常的激动。觉得自己也是可以。看到 WJMZBMR petr tourist 能快刀斩乱麻的刷题,觉得自己将来有一天也会成这样。可是自己毕竟是个平凡的人。在平凡的世界中努力做自己能够做的最好的事情。叱咤风云的大神也好,身怀绝技的大一小

2014-02-27 19:43:02 1076 11

原创 wata 哥 的 vector<MAX> G 第一次不能用 POJ 3321 树状数组

关键是括号序列啊还有,括号序列上一段代表一棵树,一个点还是代表一个点。用指针表示图#include #include #include #include #include #include #include #include using namespace std;#define ll long long#define P pair#define PDI pai

2014-02-27 01:55:15 606

原创 POJ 3278 简单 BFS

这道题 挺有意思每次有 3 中移动方式,可以前可以后。问最少移动几次可以抓住牛。不管是棋盘上怎么移动,这都是个最短路的问题。而每次的权又都是1 ,完全可以用 BFS 来解决。我觉得 BFS 中的 used 数组可以用 dist 来代替。#include #include #include #include #include using namespace std;

2014-02-25 20:13:12 540

原创 POJ 2251 BFS 简单

三维空间的 BFS ,同理搞之。。#include #include #include #include #include using namespace std;#define MAX 1000009 #define INF 0x3f3f3f3f#define MS(x) memset(x,0,sizeof(x))#define ll long long//#define

2014-02-25 19:29:18 500

原创 POJ 1321 经典棋盘问题 的搜索和状态压缩解法

这就是 n 皇后问题,不过简单了点,对于对角线不做限制搜索,因为只有 8!个状态,直接数就可以了状态压缩dp,每一行用一排1010代表上面有没有放过旗子,1是放过,0是没有,这一个行的状态可以是完全来自以前或者在这一行合法的地方放一个棋子。每行有 2^n 种状态,共 n 行,每次转移要 n,总的就是 2^n*n*n;两种代码 #include #include #inclu

2014-02-25 18:45:17 750

转载 简说期望类问题的解法

近年的acm竞赛中,数学期望问题常有涉及,在以前也常让本人感到很头疼,近来突然开窍,掌握了基本的分析方法,希望对大家有帮助。写得浅薄,可能数学上不够严谨,只供理解。            首先,来看下期望有啥基本的公式。对离散型随机变量x,其概率为p,有对随机变量A、B,有 第二条式子是今天的主角,他表明了期望有线性的性质,简单理解就是期望之间可根据关系,简单运算(

2014-02-25 12:19:10 530

原创 POJ 2488 简单 DFS

经典的骑士游历问题。有趣的是要输出字典序最小的一组解更有趣的是通过我题,我发现这种游历问题,一旦一个点可以遍历全部,那么所有点可以遍历全部,只要他有两种及以上的走的方式。#include #include #include #include using namespace std;#define MAX 1000009 #define INF 0x3f3f3f3f#

2014-02-25 11:55:11 466

原创 POJ 3308 最小割模型

还是棋盘上打外星人,这次不是最小点覆盖了,给每个枪一个费用,选择一些行和列,最小费用打掉外星人费用为所有费用的积化费用积为 log 之和 最大流解决。建图:s -> 行 -> 列 -> t 行列之间若有外形人 连一条容量无限大的边。(意思尾费用无限大)#include #include #include #include #include #include

2014-02-25 01:41:58 540

原创 HDU 3874 树状数组 边查询边更新

树状数组的好题,对于一对查询,边查询边更新。那个只能出现一个这个条件就是更新每次把上一次出现的地方的东西消灭掉,换成最新的这个地方的。第一次做这种边查询,边更新的题目呢。好题!HDU 上要用 I64 代替 lld 啊 真不习惯#include #include #include #include using namespace std;#define MAX

2014-02-24 22:05:57 429

原创 POJ 1019 许久之前,觉得这真是一道神题呢。。 递推+二分

11212312341234512345612345671234567812345678912345678910123456789101112345678910给出一串有以上规律的数字,找出第 n 个位置上的数字是几。我们把这串字符串分一下dp[i] 代表从 1 开始 结尾为 i 的子串的长度sum[i] 代表从 1 开始到 i 子串长度的总和。这样,我们首先确定这是到哪一个子

2014-02-24 19:57:34 599

原创 POJ 1850 递推 也是 dp 的一种啊

dp[i][j] 代表 长度 为 i 的 首字母 为 j 的字符串有多少个。转移就是不停的往现有字符串前边合法的增加字符串for(int i=0;idp[1][i]=1;for(int i=2;i{for(int j=0;j{for(int k=25;k>j;k--)dp[i][j]+=dp[i-1][k];}} i 代表长度 j 代表 首字母

2014-02-24 18:09:16 522

原创 poj 3252... 组合数学做的要吐血

组合数学这玩意真的是一点都粗心不得啊。首先,这个东西是有 “可减性” 的,求区间的值,我们只要记录一下前缀和就可以了。然后,组合数是可以DP的。这个题,我本来是要用数位dp来搞的,但是怎么搞都搞不对,最后所有变量的意义啊,从0开始还是从1开始啊,把我搞的晕头晕脑。算了,还是用组合数学吧。先枚举位数比这个数小的。对于相同位数的。可以从高位开始枚举,如果遇到1,就这样构造:

2014-02-24 15:22:54 568

原创 学会收敛自己

人总是容易膨胀。人长胖了,就不容易看到自己的脚下到底踩的是什么。总是自信满满的往前走,早晚会一跤跌到。要一步步的看着脚下的路。踏实的前进,把自己收敛起来。

2014-02-24 00:26:45 837

原创 UVA 11613 不确定流量费用流

不确定流量的费用流 首先问题就是确定流量。。。一般这种问题都是讲的如何让费用最大或者最小所以可以通过设置费用假设是最小那就不断增广,直到最短路已经大于0.最大的话可以变成最小来做。这道题就是这样。#include #include #include #include #include #include #include #include using na

2014-02-23 21:44:32 529

原创 Codeforces Round 231 D 两次二分

D. Physical Education and Bunstime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputThe Physical education teach

2014-02-22 02:49:44 728

原创 Codeforces Round 231 Div2 B 递推在解题中的作用

B. Very Beautiful Numbertime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputTeacher thinks that we make a lot o

2014-02-21 15:18:59 566

原创 CF Round231C (ZWJ 神构造)

直接秒杀我的二分最大值的想法。一排排的先排11 ,关键在,10 和 01 上,只有排完 11 后面开始排10的时候要注意01从后往前排,之后就随意拍排 00#include #include #include #include #include #include using namespace std;#define INF 0x3f3f3f3f#define MAX 1

2014-02-21 02:22:48 502

原创 POJ 3352 求割边

...我只能说 图论方面 我还是很 naive求使一个图没有割边需要增加的最少的边数。我是这样想的。。没桥就完了嘛。。交了一发 WA,后来手动算样例,发现不对自己又 YY 了一个 “神结论” ,一条边应该可以消灭两个有桥的分量,应该是 除以2(奇数再加 1)= = WA后来。。手动画了几个例子。。然后才发现,还是得缩点啊。。。把所有度为1 的点连起来就是了。这样最少。那

2014-02-20 21:56:43 541

原创 CodeForces Round 230 Div2 D

一道简单DP就汉诺塔,给出从 x 柱子 移动到 y 柱子的耗费,求在 n 个盘子的情况下,完成 汉诺塔最少需要多少耗费。首先一个盘子的情况

2014-02-19 22:22:34 479

原创 POJ 2195 费用流

计算房间和人的距离的时候,我一开始竟然想到用巨烦无比的 BFS !!!这不就是曼哈顿距离嘛!!然后改成这个简单的距离函数,就OK 啦。默默的把源点和人连起来,把人和所有房子连起来,房子和汇点连起来,默默的来一发费用流。。。宏是个好东西 不能不用 啊 ZWJ !#include #include #include #include #include #include

2014-02-19 22:11:27 445

原创 POJ 1191 棋盘分割 DP

我做DP的时候一般总是想怎么用状态把问题描述清楚,一般我认为状态描述清楚了,DP就顺利成章的写出来了。这个题,虽然我想了一会便想到 dp[i][x1][y1][x2][y2] 用这个来描述状态。但是我的子问题却没有想清楚,结果就使得自己的状态转移方程犯了错。一开始我是从上往下的,没有考虑下面的应该是最小才能这样,结果就错了。我的做法是可以,但是要改成记忆化搜索才好做,因为要得到下面

2014-02-17 17:37:00 505

原创 POJ 2516 费用流模板题目

靠!读题读了半天才明白这一行行的输入到底几个意思。然后是费用流的模板,我这个是用 spfa 稍微改了一下,因为这个题不可能出现负环一开始的时候把一个商店拆成 K 个直接跑,结果T 了,还是得把图拆开,一个物品一个物品的跑。另外呢。。。我发现作为一个vector,如果直接用 memset 来清空他的话是可以办到的,但是这样会造成内存泄露,程序员的节操啊。。被我丢尽了。。。

2014-02-16 23:16:21 601

原创 线段树。。。POJ 2777

虽然我知道这么水的题是不应该写题解的。。但是长时间不写的话 感觉自己好像好久没刷过题了。。就是裸的线段树一共30种颜色,一开始我每个节点用个 color[30]来记录...结果T了然后想到用位运算,然后A了。#include #include #include #include using namespace std;#define lson l,m,rt<<1#de

2014-02-15 18:48:16 496

原创 POJ 1837 简单 DP 二逼 DP = =

这个题,让我看到就想到最长上升子序列,1000的大小,n^2 就可以但是注意到,最高的两个士兵可以是相同身高的,所以,再求出左右两个最长上升子序列之后,最后得出结果的时候要注意这一点。这个地方 WA 了好多次, 这个题目的通过率这么低 应该就是这个点。#include #include #include #include using namespace std;#define

2014-02-09 23:21:39 431

原创 trie 字典树 POJ 2513

这道题就是判断一笔画问题建图的时候以颜色为点,棍子边为边。先判断是否连通,再判断odd点的个数,个数不超过2即可。注意这里颜色都是用字符串来表示的,我一开始用string的二分查找树,每次查询复杂度是 O(klongn) ,k 是字符串长度。trie的话是 O(k),用前面的T了,trie的话速度还不错300+MS这个代码中并查集和trie写在一块儿了,真是麻烦,应该都封装起来的。

2014-02-08 11:54:39 542

原创 POJ 2503 二分 还有一些基本字符串的处理

二分嘛,还是 wata 版本的。只要二分查找字符应该出现的位置就好了。就是查字典#include #include #include #include #include #include #include #include using namespace std;struct P{ char e[30]; char f[30]; boo

2014-02-07 21:29:43 581

原创 POJ 2002 检查正方形

这道题被分类到 hash 里面了,我觉得hash的作用就是快速的查找以来判重和计数这道题要判断的是是否存在点和正方形是否被计数过。前者用 map 和 pair 来解决,后者用个大数组来解决枚举每条边作为正方形上边时候的情况即可。#include #include #include #include #include #include #include using na

2014-02-07 13:28:24 544

原创 经典hash. POJ 1840

这道题真是有着不堪回首的过去。。那是。。。。成都之后还是之前,决定是否去杭州的一场和小朋友的“友谊赛”。。一开始延续了当时的思路。。但是还是T,使用mod的 hash 时间复杂度还是不够。不过幸好由于数字比较小,杀手锏直接开个大数组记录答案的个数。前两个变量一组,后三个变量一组,速度还挺快。不过数组用char来开就足够了,用int开的话会MLE。#include #inc

2014-02-07 11:57:42 472

原创 概率 DP POJ 2151

蛮简单的一道概率 DP,有 t 个队,答 m 道题目,给出每个队伍答对每道题的概率求 所有队均答对一道题并且冠军答对不小于 n 题的概率冠军答对超过 n 等价于 存在一个队伍答题不小于 n ,对立事件 所有队伍答题少于 n(当然,在所有队伍答题不少于1的条件下)dp[i][j][k] 代表第i队,前 j 道题目 答对了K 道。我觉得 DP 还是表示状态很重要,表示清楚状

2014-02-07 00:22:41 494

原创 POJ 3349 简单哈希

给出雪花的六个角的长度,可能从任意一个假开始也可以沿顺时针或逆时针,判断其中有没有相同的雪花。先按六个角的和来进行分类,把相同类的哈希到一起,再N^2的判断#include#include#include#include#include#includeusing namespace std;#define ll long long#define PRIM 99997v

2014-02-04 16:19:01 575

原创 POJ 2299 再水一发数状数组求逆序数

这道题用 map 来离散化又T了。。想起来了有一次 CF 怕直接开数组过大使用 map 结果T了的悲剧故事。。。能用数组 hash 的坚决不用 map#include#include#include#include#include#includeusing namespace std;#define ll long long ll bit[1000000];#defin

2014-02-04 12:58:19 543

原创 POJ HDU上划水...果然没有意思.....

还是老老实实的刷点好题把....

2014-02-02 10:35:47 416

原创 Codefordes Round 227 C YY 题。。

题意http://codeforces.com/problemset/problem/387/C从前向后找数(单个的或带零的),若从头开始的数大于当前数答案加一,可拆分,否则不可拆分,答案变成1#include#include#include#include#include#includeusing namespace std;#define MAX 200000

2014-02-01 11:07:30 495

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除