自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(350)
  • 收藏
  • 关注

原创 ubuntu自带输入法ibus 无法按数字键取词

rm -rf ~/.cache/ibus/libpinyin 有个人习惯词先备份user_bigram.db 重启 ibus restart

2018-06-14 11:50:44 3506 5

原创 ”今日头条杯“湖北省赛 I. Five Day Couple 可持久化01字典树

题目链接https://www.nowcoder.com/acm/contest/104/H题意不带修改区间询问,每次给定一x,l,r。问x与a[l~r]中哪个数异或最大,输出这个最大值。思路对每一个前缀a[1~i] 建立一颗树,根结点为rt[i]。树中包含这个区间的所有数,结点中额外加个域cnt,记录有多少个数走到过这个节点。对于查询l,r。我们同时查询树rt[l-1]与树rt[r]。两颗树中的结

2018-05-02 20:08:03 337

原创 牛客练习赛8 E-集合中的质数 容斥原理

题目链接https://www.nowcoder.com/acm/contest/39/E#include<cstdio>#include<iostream>#include<algorithm>#include<cstring>#include<vector>#include<string>#include<queue>#include<stack>#include<set>#i

2017-12-17 12:51:59 478

原创 codeforces 896A Nephren gives a riddle dfs搜索

题目链接http://codeforces.com/problemset/problem/896/Acsrf_token=2d70d2ab176389681e17947374617961 有意思的搜索#include<bits/stdc++.h>#define ll long longusing namespace std;const int INF = ( 2e9 ) + 2;const

2017-12-04 17:01:46 331

原创 codeforces 894E - Ralph and Mushrooms tarjan缩点+数学+记忆化搜索找最长路

http://codeforces.com/problemset/problem/894/E 发份代码记录一下,思路很简单,tarjan缩点之后计算点权值记忆化搜索找最长路。 不过这个计算权值真的麻烦,推出的公式把long long 给爆了,debug了半天 (╥╯^╰╥)#include<cstdio>#include<iostream>#include<algorithm>#inc

2017-11-26 21:21:29 368

原创 HYNU 第二次周赛题解

问题 A: 小明A+B题目描述 小明今年3岁了, 现在他已经能够认识100以内的非负整数, 并且能够进行100以内的非负整数的加法计算. 对于大于等于100的整数, 小明仅保留该数的最后两位进行计算, 如果计算结果大于等于100, 那么小明也仅保留计算结果的最后两位. 例如, 对于小明来说: 1) 1234和34是相等的 2) 35+80=15 给定非负整数A和B, 你的任务是代表小明计算出A+B

2017-11-25 20:21:29 746

原创 HDU 3695 Computer Virus on Planet Pandora AC自动机

题目链接http://acm.hdu.edu.cn/showproblem.php?pid=3695题意外星人的程序全是由大小写的英文字母组成,外星人也会写病毒程序。病毒程序也是大小写的英文字母组成,如果病毒是某个程序的子串,或者病毒的反转串是程序的子串,那么就说程序被该病毒感染。给出一个病毒及一个程序,问程序被之中的几个病毒感染了。思路将程序解析成字符串,正反在查询即可。。解析函数写错导致无限WA

2017-11-20 17:02:25 227

原创 HDU 5536 Chip Factory 带删除的01字典树

题目链接http://acm.hdu.edu.cn/showproblem.php?pid=5536思路暴力查询#include<cstdio>#include<iostream>#include<algorithm>#include<cstring>#include<vector>#include<string>#include<queue>#include<stack>#incl

2017-11-01 22:35:15 273

原创 POJ 3764 The xor-longest Path 01字典树+dfs

题目链接http://poj.org/problem?id=3764题意给定一颗树,要求找出一条路径,其边的权值异或和最大。思路求出各节点到根的异或和,假设两结点u,v到根的异或和为a[u],a[v] 那么u到v的异或和为a[u]^a[v] ,u,v的lca到根因为重复被去掉了。插入字典树中查询就行了。#include<cstdio>#include<iostream>#include<algo

2017-11-01 22:33:51 248

原创 HDU 4825 Xor Sum 01字典树模板

题目链接http://acm.hdu.edu.cn/showproblem.php?pid=4825思路01字符串模板题,将所有数从高位开始插入到树中。#include<cstdio>#include<iostream>#include<algorithm>#include<cstring>#include<vector>#include<string>#include<queue>#

2017-11-01 22:29:51 221

原创 POJ 1155 TELE 树形dp + 背包

题目链接http://poj.org/problem?id=1155题意一个信号传输网络是树形的。m个潜在用户,n-m个信号发射站。其中1号是电视台信号发电站。每个发射站之间连通需要一定的花费。用户都处在叶子节点处。且每个用户都会给定量的前补偿电视台。在使电视台不亏本的情况下,最多可以使多少用户连同。思路树形dp+分组背包 用dp[u][j] 表示在u的子树中连同j个用户所能获得的最大价值 如果

2017-10-28 15:50:01 266

原创 HDU 1712 ACboy needs your help 分组背包模板

题目链接http://acm.hdu.edu.cn/showproblem.php?pid=1712题意有n门课,每门课所能获得的价值与在这门课上所花时间有关。用val[i][j] 表示在i课花费j天时间能获得的价值。给m天求最大价值。思路n门课,每门课都有m种选法,且只能选一种。分组背包模板。。#include<cstdio>#include<iostream>#include<algorit

2017-10-28 15:39:56 279

原创 HDU 4586 Information Disturbing 二分+树形dp

题目链接http://acm.hdu.edu.cn/showproblem.php?pid=3586题意有一个树形网络通信,1号结点是长官,叶子节点是前线通讯士兵,其他节点为中传递信息的士兵。为了打击这个通信网络,使其中任意一个前线士兵的通讯不能到达长官。利用一台机器可以切断士兵之间的通讯,破坏每对可以直接通讯的士兵都需要花费一个代价。在切断的边中,任意一条边的代价不能超过机器能力上限,且代价总和不

2017-10-28 15:33:34 259

原创 codeforces C. System Administrator 构造含割点的图

题目链接http://codeforces.com/problemset/problem/245/A题意构造一个含指定割点的连通图思路将v左边连一个,右边连n-2个,右边最大连边数为n+1+ (n-2)*(n-3)/2 ,然后n个点至少连n-1条边。#include<cstdio>#include<iostream>#include<algorithm>#include<cstring>#i

2017-10-26 22:07:24 378

原创 HDU 4714 Tree2cycle

题目链接https://vjudge.net/problem/HDU-4714题意给一个图,定义环为有n个结点,n条边的图。在图中每删和每加一条边需要花费,求用最少的花费将图变成环。思路思路比较难想到:看了题解才知道的。 对于非根结点,假设其后代分支数为f,需要先将结点与其父亲断开,然后断开f-2个分支,将断开的分支再连成一条链,共需要花费1+2*(f-2),在加上与上一条链的链接,总共需要2+2

2017-10-26 21:54:15 211

原创 POJ 3162 Walking Race 树的直径+线段树

题目链接http://poj.org/problem?id=3162题意给定一颗含n个结点的树,求每个点能走到的最远距离,挑选连续的k天 最长与最短之差不超过m,求最大k思路先求树的直径,然后线段树维护#include<cstdio>#include<iostream>#include<algorithm>#include<cstring>#include<vector>#include<

2017-10-26 21:03:03 272

原创 codeforces dfs序+线段树+bitset

题目链接http://codeforces.com/problemset/problem/620/E题意给定一个树,现在有60种颜色,要做如下操作 1 v c:将v及其子树然成c颜色 2 v:查询v及其子树中含有多少不同颜色思路用dfs序存储子树,bitset代表子树中含有的颜色。#include<cstdio>#include<iostream>#include<algorithm>#i

2017-10-26 19:56:01 269

原创 POJ 3321 Apple Tree dfs序+线段树

题目链接http://poj.org/problem?id=3321题意一颗苹果树,以1为根,含有n个结点,每个节点上都会张出苹果。现在给出m个询问 Q v代表修改v结点的状态,即有苹果就摘掉,没有苹果就让其长出苹果。 C v代表查询以v为根的子树中,包含的苹果个数。思路用dfs序的连续区间可以代表一个子树,线段树叶子节点存储对应dfs序的结点苹果的有无。然后用线段树更新查询. 用vector

2017-10-26 19:37:05 271

原创 POJ 3107 Godfather 求重心

题目链接http://poj.org/problem?id=3107#题意黑帮们之间的联系网是树状的,且将网络中的教父去除后,与去掉其他点相比,其最大子树是最小的。求出所有这些结点。思路求重心的模板题。。#include<cstdio>#include<iostream>#include<algorithm>#include<cstring>#include<vector>#include

2017-10-26 19:26:21 226

原创 hdu 6201 transaction transaction transaction 树形dp

题目链接http://acm.split.hdu.edu.cn/showproblem.php?pid=6201题意又是利用不同地方物价不同,赚得差价,这道题起点和终点可以任选,但是需要路费。从一颗树中,任选起点和终点,利润为差价减去路费。求最大利润思路用dp[u][0] :表示在u点买进时能够获得的最大价值 用dp[u][1] :表示在u点卖出时能够获得的最大价值 转移过程可以看代码#incl

2017-10-13 13:49:53 235

原创 HDU 2196 Computer 树形dp

题目链接http://acm.split.hdu.edu.cn/showproblem.php?pid=2196题意给定一颗树,求出每个点到树上任一点的最大距离。 dp[u][0] 和dp[u][1]分别表示u在以u为根结点的子树中,u能走到的最大距离和次大距离 dp[u][2] 表示u往其父节点走能走到的最大距离#include<cstdio>#include<iostream>#incl

2017-10-10 15:02:51 187

原创 fzu 2216 The Longest Straight 二分

题目链接http://acm.fzu.edu.cn/problem.php?pid=2216题意给出n张牌,每张牌有个数值,n张牌中最大的值为m。值为0的牌可以代替任意值,问可以凑出最长顺子的长度是多少。思路用dp[i] 表示从1到j需要填0的个数 dp[j] - d[i] 表示 i+1 到 j需要填0的个数 然后mlogm 枚举#include<cstdio>#include<iost

2017-10-06 13:31:36 203

原创 FZU 2271 X Floyd

题目链接http://acm.fzu.edu.cn/problem.php?pid=2271题意给定一有重边的无向图,定义两点间的距离为它们的最短路距离,问最多可以删除几条边使图中点间距离不变。思路首先输入时即处理掉重边,然后Floyd处理,如果u与v是直接相连的,被中间节点k松弛,或者能够使之与u->v的距离相等,那么u->v这条边是多余的可以标记删除。具体操作看代码#include<cstdio

2017-10-03 22:15:19 320

原创 poj 3177 Redundant Paths 边-双连通分量

题目链接http://poj.org/problem?id=3177题意某人要修路,保证任意两个点之间可以有至少两条不同的路线到达,求至少需要修的路的数量(加的边数)。给的图是连通的思路其实就是边-双连通图的定义:这种图任意两个顶点之间至少存在两条无公共边的路径。 所以就是需要加最少的边,使图变成边双连通图。具体做法是先双连通分量缩点成树,找出叶子节点的个数leaf。答案为(leaf+1)/2.做

2017-10-03 22:07:43 202

原创 HDU 3394 Railway 点双连通分量

题意给定一个无向图,找出不在任意一个环上的边数和同时在多个环上的边数。思路点-双连通分量如果在边数等于点数,那么形成一个环,边数多于点数,说明环中有多条边。#include<cstdio>#include<iostream>#include<algorithm>#include<cstring>#include<vector>#include<string>#include<queue>

2017-10-02 11:03:34 221

原创 HDU 4005 The war 边-双连通缩点+树形dp

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4005题意在战争中,敌方有一些根据地?这些地区之间有路连接,使得所有区域可以相互通信,我方为了破坏他们的通信,也就是使图不连通,需要毁坏一条路,每条路的毁坏需要一些代价,敌人知道我方的计划,决定再加一条路,但是我方不知道,为了能让计划顺利执行,需要你来计算最少的代价。如果无法达到目的,输出-1思路在原图中

2017-09-30 22:21:40 253

原创 HDU 2242 考研路茫茫——空调教室

题目链接http://acm.hdu.edu.cn/showproblem.php?pid=2242思路断掉一条在一个边双连通分量中的边,不会使图变得不连通,首先想到的是边双连通分量缩点,得到的缩点图是一颗树,剩下的边都是桥,不能一条一条的删除,然后计算差值。断掉任意一条边后,变成森林含两个子树,用dp[u]表示以u为根结点的子树上所有节点权值之和。那么另外一颗树上所有节点权值之和为sum-dp[u

2017-09-29 22:21:55 244

原创 HDU Cactus 3594 仙人掌图

题目链接http://acm.hdu.edu.cn/showproblem.php?pid=3594题意仙人掌图必须满足的条件: 1.强连通图 2.每条边只属于一个环 给定一图判断是否为仙人掌图思路翻译成tarjan算法里的条件: 1.不能存在横向边 2.dfs树中所有边(u->v)v是u的子节点,需满足:low[v]>=dfn[u] 3.dfs树中所有边(u->v)v是u的子节点,需满

2017-09-29 16:13:42 281

原创 HDU 3639 Hawk-and-Chicken 强连通缩点+搜索

题目链接http://acm.hdu.edu.cn/showproblem.php?pid=3594题意n个人,为了争夺谁是胜者,出给一个游戏规则,每个人都可以支持其他人,如A可以支持B为胜者,这种支持可以传递,如:A->B->C则支持C有两个人,如果成环,那么环中每个人都获得环中其他人所有人的支持。试求出获得支持数最多的人,如果有多个,按从小到大的顺序输出其编号。思路首先是强连通分量缩点,缩点的权

2017-09-29 16:01:57 238

原创 HDU 3861 The King’s Problem 强连通缩点+最小路径覆盖

题目链接http://acm.hdu.edu.cn/showproblem.php?pid=3861题意一个国家有n个城市,城市之间有m条单向道路。国王为了方便管理城市,决定给所有的城市分为一个州,会确保每个城市属于一个州。如果城市之间u,v之间能够相互到达,那么u,v必须分在同一个州,另外,如果从某个城市一条道路一直走到没有路可走,那么在这条路上的所有城市划分成一个州。求最小划分州数。思路tarj

2017-09-28 17:38:19 299

原创 HDU 3072 Intelligence System 强连通缩点

题目链接http://acm.hdu.edu.cn/showproblem.php?pid=3072题意给定一个有向有权图,问从0点出发能够访问到其他所有点所需的最小花费,在同一个连通分量中的点访问时不需要加上权值。思路很明显是要tarjan缩点了。然后求DAG中的最小树形图?#include<cstdio>#include<iostream>#include<algorithm>#inclu

2017-09-27 18:46:18 191

原创 HDU 1827 Summer Holiday 强连通缩点

题目链接http://acm.hdu.edu.cn/showproblem.php?pid=1827思路强连通缩点,找入度为0的点的个数。花费最少要计算出缩点的权值,其值为缩点内权值最小的点的权值。#include<cstdio>#include<iostream>#include<algorithm>#include<cstring>#include<vector>#include<st

2017-09-27 10:24:15 232

原创 HDU 2883 kebab 最大流建模

题目链接http://acm.hdu.edu.cn/showproblem.php?pid=2883题意一个烧烤摊,最多同时考M个串,现在给n个顾客信息,分别是到达烧烤店的时间,和他要走的时间,以及需要考的串的个数,和每个串烤熟需要的时间。问给定n个顾客,是否能够满足所有顾客的需求。思路从超级源点连边到每个顾客,容量为ni*ti,对于输入的时间区间,将所有点排序去重,然后每个区间连边到超级汇点容量为

2017-09-25 22:31:16 244

原创 hdu Smallest Minimum Cut 边数最少的最小割

题目链接http://acm.hdu.edu.cn/showproblem.php?pid=6214题意给定一有向图,求图中边数最少的最小割思路跑两次最大流:第一次正常建图,第二次在满流的边上跑。比赛时用的是这样方法,后来听大神说这种算法是错误的,因为最小割一定满流,满流的不一定是最小割。。 在网上看了第二种做法,在原图的基础上,每条边权都乘上一个较大的数E在加1,即 w = w*E+1 。这样

2017-09-21 21:54:52 455

原创 51nod 1443 路径和树

题目链接https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1443思路先求一次最短路,然后考虑最短路上的边作为树的边, 失了智,最大值爆int了。#include<cstdio>#include<iostream>#include<algorithm>#include<cstring>#include<vector>

2017-09-21 21:13:08 260

原创 51nod 1444 破坏道路 最短路

题目链接https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1444思路因为边的权为1,所以可以BFS在O(n^2) 时间内求出任意两点间的最短距离, 那么d[s1][i]+d[i][j]+d[j][t1] <=Lim1 说明I->j 为符合条件的s1->t1的子路。 如果d[s1][i]+d[i][j]+d[j][t1]

2017-09-18 19:32:04 446

原创 Codeforces 652E Pursuit For Artifacts 双连通分量缩点

题目链接http://codeforces.com/problemset/problem/652/E题意给定一无向图,图中有些边被标记,某个人从s走到t,每条边只允许走一次,判断从s到t的路径中,是否可能存在被标记的边。(图保证连通)思路双连通分量缩点,如果缩点之后,缩点内存在被标记的边,那么将缩点标记。不同缩点之间存在标记边,在新图中同样给边加标记。这样缩点后的图,变成树,树中存在被标记的边和被标

2017-09-16 14:08:07 552

原创 HDU 2833 WuKong 求两条最短路间最多公共点数

题目链接http://acm.hdu.edu.cn/showproblem.php?pid=2833题意两个人从两个点出发(不一定是同一个点),到达两个点(不一定是同一个点),问他们的最短路间最多可以有几个公共点。思路dp[i][j] 代表I到j这条最短路中最多有几个点。#include<cstdio>#include<queue>#include<iostream>#include<vect

2017-09-14 19:27:02 278

原创 HDU 2363 Cycling 二分+ 限制最短路

题目链接http://acm.hdu.edu.cn/showproblem.php?pid=2363题意某人要去考试,途中在路上遇到的点有一个海拔高度,每个点之间有个长度连接,求使1到n路中海拔高度最大与最小的点之差最小的前提下,使路径长度最小。#include<cstdio>#include<queue>#include<iostream>#include<cmath>#include<v

2017-09-11 22:16:41 269

原创 HDU 2962 Trucking 二分+最短路

题目链接http://acm.hdu.edu.cn/showproblem.php?pid=2962题意在一张地图中,一个运货车要从s运货到t,路中每条边有运输时间,有些边有运货限制(理解为路有路有承重限制),有些没有。给定运货车的最大运货量,求s到t能运货尽可能多的情况下,花费时间最少。思路二分枚举s->t的路中最小的h,将图中所有小于h的边都删去,跑最短路。#include<cstdio>#i

2017-09-10 22:10:23 259

空空如也

空空如也

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

TA关注的人

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