自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

AC之路

多多指教

  • 博客(177)
  • 资源 (2)
  • 收藏
  • 关注

原创 hihocoder 1378(有向图求最小割集)

在最大流模板的基础上,求出最小割集题目链接:hihocoder 1378#include#include#include#include #include#include#include#include#include#include#include#includeusing namespace std;#define maxn 20005#define max

2017-04-28 11:25:50 3112

原创 hihocoder 1183(tarjan求缩点和桥)

题目链接:hihocoder 1183利用tarjan模板求无向图的割点和桥。#include#include#include#include #include#include#include#include#include#include#include#includeusing namespace std;#define maxn 20005#define

2017-04-27 12:02:35 480

原创 hihocoder 1185(tarjan缩点)

复习复习tarjan算法题目链接:hihocoder 1185#include#include#include#include #include#include#include#include#include#include#include#includeusing namespace std;#define maxn 20005#define maxm 100

2017-04-26 20:41:56 389

原创 poj3237(树链剖分—边权)

又写了一遍poj3237,回顾了一下树链剖分思想。在我看来是精简了很多代码,但是代码行数不减反增。#include#include#include#include #include#include#include#include#include#include#include#includeusing namespace std;#define maxn 1000

2017-04-26 16:36:32 402

原创 hdu 4622 Reincarnation(后缀树组求子串个数)

题意:求字符串任意区间子串个数。思路:首先对整个字符串求一次sa[]以及height[],之后对于任意区间[L, R],遍历一遍sa[],只要起点在[L, R]内的后缀就需要进行统计法,不过有一个地方要特别注意的就是全部的sa[]不一定就是区间内的sa[],这是因为区间内的后缀比较时有额外的长度限制。可以证明遍历的过程要遵循如下的规则:后缀s1和后缀s2现在是两个待比较的后缀,

2015-11-07 12:13:41 594

原创 uva 1401Remember the Word(trie树+dp)

题意:给一个由s个单词组成的字典和一个长字符串。把这个字符串分解成若干个单词的连接(单词可重复使用),有多少种方法?思路:令d(x)表示从字符i开始的字符串(即后缀s[i....L])的分解方案数,则d(i)=sum{d+len(x) | 单词x是s[i...L]的前缀}。         所以可以先把单词写入trie树,然后从从后往前在长串的每个位置找前缀即可。#include#i

2015-11-07 12:05:20 380

原创 计算客444 (2015计蒜之道 京东的物流路径)

题目链接作为一个电子商务为主体的公司,京东一直努力实现自己“多、快、好、省”的承诺。其中,“快”的特质更是被京东发挥到了极致。京东建立了一个非常高效的物流网络,物流网络构成了一个树结构,由很多的物流点和将物流点连结起来的道路组成。京东物流网络中每个物流点有一个权值 di,物流点间的道路也都有一个权值 wi。对于一条物流网络中的路径,令路径上所有物流点权值 di 的最小值为 mi

2015-10-13 17:41:04 1361 1

原创 bnuoj 24258 Journey(lca倍增法 弱校联萌十一大决战之背水一战J)

题目链接题意:在一棵n个节点的树上,每条边有权值,x->y的路径长度为路径上权值相加。现在在树上添加一条u->v的边,问q个询问两点间的最短路径长度是否减少,减少了多少。思路:添加边之前,任意两点间的路径长度可通过倍增法求LCA在logn的时间求出,现在加了一条新边用同样的方法强行通过新边进行比较即可。

2015-10-09 15:12:48 450

原创 bnuoj 39566 Do use segment tree(树链剖分)

题目链接给一棵树,有两种操作:1 将a->b路径上的点权值改为c;2 求a->b路径上的最大连续区间和。思路:树链剖分。通过不断合并区间,维护区间最大左区间和、最大右区间和、区间最大连续和、区间和即可。//#pragma comment(linker, "/STACK:10240000000,10240000000")#include#include#include#i

2015-10-06 17:09:14 397

原创 poj-5497

题目链接题意:你有一个序列\{a_1,a_2,...,a_n\}{a​1​​,a​2​​,...,a​n​​},然后你可以删除一个长度为mm的连续子序列. 问如何删除才能使逆序对最少.//#pragma comment(linker, "/STACK:102400000,102400000")#include#include#include#include #in

2015-10-06 16:49:04 343

原创 hdu-5489(2015网络赛合肥赛区)***

题目链接题意:给定一个长度为N=105的序列 求删去连续长度为0=L=N的序列后的LIS思路:假设你已经会O(nlogn)的LIS, 删去i  前面连续一段长度为L  即[i−L,i-1]的 序列, 左边是i−L−1, 右边是i, 求剩下的LIS 首先预处理出: f[i]:=以a[i]结尾的LIS的最大长度 g[i]:=以a[i]开头的LIS的最大长

2015-09-30 19:34:44 500

原创 hdu-4812(树分治 点权)

题意:给出n个点的树,每个结点有权值,求一条路径,使得路径上点的乘积对1e6+3取模的结果为K。思路:树上的基于点的分治,如何计算乘积为K的路径呢?对于每个分支的点,计算从根节点到当前点的乘积x,然后利用逆元可以算出y=K*x^(-1),然后通过hash去查找y的值是否出现过即可,逆元可以用扩展欧几里得预处理出来,对于相应的值要标记最小能得到它的点,边搞边去更新ans就行了。注意:为了防止

2015-09-30 13:36:45 470

原创 hdu 3555(数位dp入门)

题意就是求从整数1到N中有多少个含有“49”的数? 比如N=500,那么 "49","149","249","349","449","490","491","492","493","494","495","496","497","498","499",dp[i][1]=dp[i-1][0]; //在不含49的情况下高位加9dp[i][2]=dp[i-1][2]*10+dp[i-1][1];

2015-09-29 21:39:52 453

原创 poj-1741(树分治 点权)

题目链接思路:      //#pragma comment(linker, "/STACK:1024000000,1024000000")#include#include#include#include #include#include#include#include#include#include#include#includeusing na

2015-09-29 19:10:35 373

原创 poj 1091-跳蚤(数论+容斥)

题目链接题意:可转化为已知N+1个数,x1, x2, .. xn, m;使得gcd(x1, x2, ..., xn) = 1的解的个数(xi思路:m^n为所有不同序列个数,然后减去公因数>1且为m的素因子的解数,通过容斥原理思想,答案为ans=m^n-(奇数个m的素因子相乘作为公因子的n元组)+(偶数个m的素因子相乘作为公因子的n元组)。公因数为d的n元组,每个位置上有

2015-09-28 16:39:13 485

原创 2015网络赛北京赛区G题(bfs+预处理)

题目链接题意:给n个不同大小的盒子,小盒子可以叠在大盒子上,每次可向左或右相邻的位置移动该位置最顶的盒子,求使所有盒子从小到大有序所需最少移动次数。思路:从终态bfs爆搜预处理出到达所有状态需要的步数。#pragma comment(linker, "/STACK:102400000,102400000")#include #include #include #include

2015-09-21 13:56:52 467

原创 hdu-5442(后缀数组,2015网络赛长春赛区)

题目链接题意:给一个字符串,可以将其旋转,求旋转后的正或反方向字典序最大,如abca 正方向最大为 caba,反方向最大为cbaa,所以最大为cbaa。对于结果下标越小越好,相同下标优先选正方向。思路:后缀自动机,对于正向,将串复制为两倍,用后缀数组得出最大后缀位置即可;对于反向,先将串翻转再x2,然后通过后缀数组得出的最大后缀位置为下标最大的字典序最大串,然后通过height数组>=le

2015-09-15 15:13:56 486

原创 cf 577B

B. Modulo Sumtime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given a sequence of numbers a1, a2, .

2015-09-11 11:11:50 2940

原创 hdu-5429(大数java练习)

题目链接题意:输入n个大数,判断是否为等比数列。思路:大数+等比数列性质,a[i]*a[i]=a[i-1]*a[i+1]。import java.io.*;import java.util.*;import java.math.*;public class Main { public static void main(String []arg){ Scanner cin=n

2015-09-08 13:24:46 386

原创 cf 575H Bots

H. Botstime limit per test1.5 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputSasha and Ira are two best friends. But they aren

2015-09-07 20:15:07 1024

原创 hdu-5430

题目链接题意:在一个圈里从一个点出发,求反射n次回到起始点的方法数。思路:既约分数,即分子分母互质的分数,如果不是既约分数的话相当于同一种反射方案循环多次。//#pragma comment(linker, "/STACK:102400000,102400000")#include #include #include #include #include #i

2015-09-06 13:28:52 596

原创 hdu-3436 Queue-jumpers(伸展树)

题目链接伸展树讲解题意:一串数字,有三种操作:Top x 将x移至数列首;Query x 询问x的位置;Rank x 询问位置x的数。思路:伸展树。top操作需要先删除再插入;rank操作根据size和节点代表的区间长度(len)二分查找;query操作先将x旋转至根,然后根据size+1便为答案。需要注意的是,数据范围大,需离散化,所以对于top和query询问的

2015-09-04 19:19:02 293

原创 573B - Bear and Blocks

B. Bear and Blockstime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputLimak is a little bear who loves to play.

2015-09-01 17:23:48 790

原创 cf Div#317 Lengthening Sticks

A. Lengthening Stickstime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given three sticks with positi

2015-08-26 21:24:21 496

原创 SPOJ COT Count on a tree(树上路径第k小 主席树)

题意:求树上A,B两点路径上第K小的数分析:同样是可持久化线段树,只是这一次我们用它来维护树上的信息。我们之前已经知道,可持久化线段树实际上是维护的一个前缀和,而前缀和不一定要出现在一个线性表上。比如说我们从一棵树的根节点进行DFS,得到根节点到各节点的距离dist[x]——这是一个根-x路径上点与根节点距离的前缀和。利用这个前缀和,我们可以解决一些

2015-08-26 15:57:43 782

原创 zoj-2112(主席树动态求区间第k小数)

总算是把动态求区间第k个数的算法看明白了。在主席树的基础上,如果有修改操作,则要通过套树状数组来实现任意区间求第k小的问题。刚开始看不明白什么意思,现在有一点理解。树状数组的每个元素是一个线段树,来维护修改后的前后缀和,树状数组能在log时间内更整个数组,现在用相同的方式更新整个线段树数组,每次更新一个点时,要更新这个点代表的整个线段树。同样的,求和时用一个use数组记录所要更新的点的下标

2015-08-25 19:30:14 2431 1

原创 poj-2104(主席树)

主席树,函数式线段树。新建的线段树相对前面的改变较少,建树时便可充分利用与前面重叠部分的空间,在新加入节点时便只需开辟需要改变的树节点。第i个线段树代表了原数列前i个数的存储,所以在求解原数列任意l~r区间的第k小值问题时,通过sum[r].l-sum[l].l的值与k比较即可知道该值在左或右区间,逐步缩小区间便可。很好的数据结构。题意:给一段序列和m个询问,问l~r区间的第k小数

2015-08-25 15:11:55 391

原创 HYSBZ-2243(树链剖分)

染色Time Limit:20000MS     Memory Limit:524288KB     64bit IO Format:%lld & %lluSubmit Status Practice HYSBZ 2243Description给定一棵有n个节点的无根树和m个操作,操作有2类:1、将节点a到节点b路径上所有点都染成颜色c;

2015-08-22 17:44:50 310

原创 hdu-3966 Aragorn's Story(树链剖分,点权)

给一棵树,有三种操作:Q a 查询树节点a上的值;I  a b c 将树上a->b路径上的节点值+c;D a b c 将树上a->b路径上的节点值-c(和第二种一样);//#pragma comment(linker, "/STACK:1024000000,1024000000")#include#include#include#include #include#inc

2015-08-22 14:51:55 808

原创 poj-3237(树链剖分)

对树有三种操作:Q~  a b  询问a~b路径的最大值;N~  a b  对a~b路径上的数进行取反操作;(a=-a)C~  a b  将第a条边的值改为b;对于取反操作,记录区间的最大和最小值和标记k,更新线段即可。//#pragma comment(linker, "/STACK:1024000000,1024000000")#include#include#inc

2015-08-22 10:48:53 668

原创 hdu-5416(多校2015)

CRB and TreeTime Limit: 8000/4000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 587    Accepted Submission(s): 187Problem DescriptionCRB has a tree,

2015-08-21 12:58:40 357

原创 acmoj*

新版非诚勿扰题目描述非诚勿扰改版啦,不采取灭灯形式了,大家都相信缘分,新版规则如下:一场节目有n个女嘉宾和m个男嘉宾,女嘉宾都被帘子遮住,每位男嘉宾有一次选择机会,如果选中的帘子后有女嘉宾那么他们将牵手成功,如果没有那么只能遗憾唱起可惜不是你。当然如果某帘子后面的女嘉宾被带走那么这个帘子就会一直空着,不会补充男嘉宾无法确定帘子后是否有女嘉宾。问一场节目被带走的女嘉宾

2015-08-21 09:55:25 599

原创 hdu-5407(多校2015)

CRB and CandiesTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 193    Accepted Submission(s): 73Problem DescriptionCRB has N d

2015-08-20 21:03:38 875

原创 poj-3678(2-SAT)

poj3678题意:给n个位置赋值0或1使其满足给定的m个布尔表达式。思路:2-sat问题判断是否存在解,tarjan求强连通分量,判断对应的位置是否冲突(即存在i和i^1在一个连通分量里)。把每个值是1(a)和0(~a)为两种状态AND 结果为1:建边 ~x->x,~y->y (两个数必须全为1)AND 结果为0:建边 y->~x,x->~y (两个数至少

2015-08-19 18:24:51 373

原创 hdu-1814(2-SAT)

题意:给1~n*2个人,两两为一组,每组选一人,求在满足m个限制条件的情况下输出字典序最小的数列。思路:典型的2-sat问题,因为是字典序最小问题,暴力解决便可;若是判断能否存在,则用判断强连通分量的方法判断。#include#include#include#include #include#include#include#include#include#include

2015-08-19 16:40:10 631

原创 hdu-5402(多校2015)

Travelling Salesman ProblemTime Limit: 3000/1500 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 258    Accepted Submission(s): 95Special JudgeProblem Des

2015-08-18 20:44:12 719

原创 Matching Names(Trie树)-(VK Cup 2015 - Finals, online mirror)

A. Matching Namestime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputTeachers of one programming summer school

2015-08-17 20:39:33 564

原创 570E Pig and Palindromes(#316 (Div. 2))dp**

E. Pig and Palindromestime limit per test4 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputPeppa the Pig was walking and walked

2015-08-16 19:40:58 620

原创 hdu 5392-Infoplane in Tina Town(质因子分解求最小公倍数)

题意:给一个置换,求它的循环长度。即给一个1~n的任意排列,求使其置换为同一序列的循环长度。例如下面一组测试数据:62 1 5 3 4 6第一个循环节为1->2->1,即长度=2;第二个循环节为3->5->4->3即长度为=3;第三个循环节6->6;即长度为1;所以要将该序列重新转换为2 1 5 3 4 6,需要的循环长度为三个循环节长度的最小公倍数。注意:求最小公

2015-08-16 11:08:21 1125 2

原创 Tree Requests-Codeforces Round #316 (Div. 2)

D. Tree Requeststime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputRoman planted a tree consisting of n verti

2015-08-15 13:21:09 992

Basic-Internet-Security

Basic-Internet-Security 一本关于系统安全的书籍pdf

2018-11-02

glut-3.7.6

glut库 ,一个VC++类库是VC++进行3D开发的相关类库,使用比较广泛,即便现在你暂且用不上它,也可以留着以备将来有用。

2014-06-08

空空如也

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

TA关注的人

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