----路径
文章平均质量分 51
扩展的灰
扩展的灰(Extended Ash)
展开
-
Jzoj4789 货物运输
模型显然就是最短路模型,我们考虑怎么计算距离首先,我们不能从起点开始跑最短路,鉴于此题是无向图,我们可以令dist[T]=p(即终点的距离为目标货运数量)这样就可以从终点开始跑最短路,dist[i]表示从i运送p个钥匙所需要的最小数量现在我们考虑如何计算Dis(u,v)首先计算Dis(u,v)必须先知道dist[u]然后分情况讨论这里假设u是城镇,村庄的话Dis(u,v)=1原创 2017-10-26 20:15:21 · 437 阅读 · 0 评论 -
Jzoj3486 道路改建
人称不死将军的林登·万,与他的兄弟林登·图两人的足迹踏遍了地球的每一寸土地。他们曾将战火燃遍了世界。即使是lifei888这样的强悍人物也从来没有将他彻底击败。这一次,林登·万在N个城市做好了暴动的策划。然而,在起事的前一天,将军得知计划已经泄漏,决定更改计划,集中力量掌握一部分城市。具体来说,有M条单向边连接着这N座城市。对于两座城市A,B,如果它们能够通过单向边直接或间接的互相到达,那原创 2017-12-03 20:32:02 · 280 阅读 · 0 评论 -
Jzoj4771 爬山
国家一级爬山运动员h10今天获得了一张有着密密麻麻标记的地图,在好奇心的驱使下,他又踏上了去爬山的路。对于爬山,h10有一个原则,那就是不走回头路,于是他把地图上的所有边都标记成了有向边。他决定从点S出发,每到达一个新的节点他就可以获得一定的成就值。同时h10又是一个很珍惜时间的运动员,他不希望这次爬山的成就值白白浪费,所以最后他一定要在一个存档点停下,保存自己的成就值。请你计算出在此次爬原创 2017-11-24 20:26:30 · 633 阅读 · 0 评论 -
Jzoj4729 道路修建
给你一个联通无向图,问你要修建几条边使得该图是一个边双连通图无比经典,肯定是一个tarjan求桥,删掉后缩点,变成一颗树,看看有几个叶子结点,叶子结点一对对连起来即可#include#include#include#includeusing namespace std;struct Edge{ int u,v,nt; } G[1000010];int c=1,h[50001原创 2017-10-18 20:01:17 · 386 阅读 · 0 评论 -
Jzoj3155 最短路
N 个结点、M 个含K 个结点的完全子图构成一个奇怪的图,问从结点1 走到结点N 最少需要经过多少个结点。非常经典的套路了,当时做2sat也讲过了建立中转站让后直接bfs,最后距离/2就好原创 2017-12-30 21:26:05 · 337 阅读 · 0 评论 -
Jzoj3163 排列
给你M个对1到N的排列的特征,特征有两种:1 x y v:排列的第x个数到第y个数之间的最大值为v2 x y v:排列的第x个数到第y个数之间的最小值为v要求你还原出这个排列(N刷水题有利于身心健康但你还不是不会做?额这想必许多人看完题目就知道怎么做了吧,才200直接二分图匹配就搞定了啊,O(NM)建图没问题(另外,2014年那时候还没有匈牙利算法吗?为什么好多人直接写原创 2018-01-02 20:47:35 · 382 阅读 · 2 评论 -
Jzoj3528 图书馆
圣玛格丽特大图书馆是一座由石材砌成的角柱型高塔,是欧洲屈指可数的巨大书库。图书馆整面墙壁都是巨大的书架,书架与书架之间就像巨大的迷宫一般,以细窄的木制楼梯连结。大图书馆的最高处是一个绿意盎然的植物园,维多利加正在那无聊地看着书。今天,一如往常地,久城要爬上这迷宫般的楼梯给维多利加送讲义。图书馆墙壁上有N个平台,编号为1到N,入口为1号,植物园为N号。有M个连接两个不同平台的楼梯,爬每个楼梯需要原创 2018-01-22 19:18:05 · 447 阅读 · 0 评论 -
Jzoj3176 蜘蛛侠
话说世界上有很多超级英雄:蝙蝠侠,蜘蛛侠,超人,名字都写不出来的人等等。在他们之中有一个叫Kickass。今天他想模仿蜘蛛侠,所以他选择了一排高楼来跳。具体来说,他选择了一列N幢高楼,从左到右标号为1到N。一开始他在第K幢高楼。不幸的是,Kickass能力非常有限,只能跳到向左或向右相邻的高楼,而且他要跳到的楼的高度必须不能大于他现在处在的楼的高度。Kickass不想自己看起来很渣渣,所以原创 2018-01-07 22:06:42 · 445 阅读 · 0 评论 -
Jzoj3177 安全监控
选举越来越近了,所以总统Amabo Kcarab准备在美国计划一次旅行,并在WDC和LA进行演讲。特务为了能够保护总统的安全,需要时刻监控所有总统会经过的城市(包括WDC和LA)。当然,为了使预算不会太大,总统不会用到AF1,而会用汽车作为交通工具。并且,特务计划在总统从WDC到LA和回到WDC的旅途中安排尽可能少的需要监控的城市数目。对于这个问题,我们假设美国有N(N写一个程序计算出原创 2018-01-10 17:06:15 · 342 阅读 · 0 评论 -
Jzoj2308 聚会
Tzdin想组织一个圣诞晚会。N位女士和M位男士(M>=N)会被邀请参加这个聚会。在聚会的开始,Tzdin会派发一些写着某位男士信息的卡片给每位女士;每位女士都会收到若干张这种卡片。然后每位女士可以从她收到的卡片里挑选一位男士作为她的伴侣。我们可以认为经过Tzdin的引导,每位女士都一定可以挑选到一位男士作为他的伴侣,而每位男士最多成为1位女士的伴侣。Tzdin想知道的是,有哪些男士,无论女士们怎原创 2018-01-20 20:23:29 · 370 阅读 · 0 评论 -
51Nod1444 破坏道路
题目看这里也是非常套路的一道题首先考虑,如果只有一组限制,那么答案就是m-l1现在考虑加了一组限制的情况下有什么影响显然,被两段路径重复覆盖的那一部分会多减掉一次那么我们可以枚举这段路径,让后用dp来计算答案,注意因为是无权图可以bfs O(n^2)求出两点之间最短路#pragma GCC opitmize("O3")#pragma G++ opitmize("O3"原创 2018-02-15 10:16:10 · 322 阅读 · 0 评论 -
CDQ分治&整体二分九连测
整体二分好难a CDQ分治&整体二分九连: A[适者] 先来一个不是cdq分治的题(虽然也可以用分治做) 首先先来考虑按照什么顺序来搞掉这些机甲 对于两个相邻的机甲i,j,先i后j的代价是Ai∗Di+(Di+Dj)∗AjAi∗Di+(Di+Dj)∗AjA_i*D_i+(D_i+D_j)*A_j 那么如果i应该比j先消灭就有 Ai∗Di+(Di+Dj)∗Aj<A...原创 2018-08-19 21:32:06 · 571 阅读 · 0 评论 -
状压DP十六连测
DP应该先学插头 状压DP十六连 A[寿司晚宴] 开始想到了反演,设f(d)f(d)f(d)表示两边选出来的公因数为d的方案数,设F(d)F(d)F(d)… 好的介绍一个套路,按照最大的质因子分类(没错这不是洲阁筛) 我们发现小于500−−−√500\sqrt{500}的质数只有8个,可以搞一个2162162^{16}的状态表示一种方案 让后,我们设T(x)T(x)T(x)表示x...原创 2018-08-28 09:33:27 · 408 阅读 · 0 评论 -
Jzoj5452【NOIP2017提高A组冲刺11.5】轰炸
战狂也在玩《魔方王国》。他只会征兵而不会建城市,因此他决定对小奇的城市进行轰炸。小奇有n 座城市,城市之间建立了m 条有向的地下通道。战狂会发起若干轮轰炸,每轮可以轰炸任意多个城市。每座城市里都有战狂部署的间谍,在城市遭遇轰炸时,它们会通过地下通道撤离至其它城市。非常不幸的是,在地道里无法得知其它城市是否被轰炸,如果存在两个不同的城市i,j,它们在同一轮被轰炸,并且可以通过地道从城市i 到原创 2017-11-06 16:28:11 · 467 阅读 · 0 评论 -
Jzoj5446 高考是不可能高考的
Snuke 喜欢旗子.Snuke 正在将N 个旗子摆在一条线上.第i 个旗子可以被放在位置xi 或yi 上.Snuke 认为两个旗子间的最小距离越大越好. 请你求出最大值.今天这都是些集训队作业啊!这个题本来以为一眼能做结果死磕磕不动二分答案肯定是要的,问题是怎么判定解1.dp肯定不行了2.数据结构,也不行3.图的最大独立集,比较靠谱但是。。。复杂度原创 2017-11-03 21:03:56 · 403 阅读 · 0 评论 -
Jzoj4784 Map
这个题意很简单,就是问你连一条边会增加多少双联通点对按照一般的方法,先用Tarjan缩点化为一颗树,每次连起来就在树上找路径统计答案答案的统计方法,设树上节点i(原图的一个双联通块)的大小为v[i]那么一条路径[x,y]的端点被连接起来,贡献应该是(Σv[i])^2-Σv[i]^2,其中i∈x~y的路径这样的话可以用倍增或者树剖求lca来解决码量比较大#pragma G原创 2017-10-25 19:00:49 · 322 阅读 · 0 评论 -
Jzoj4822 完美标号
题意:给定M个二元组(A_i, B_i),求X_1, ..., X_N满足:对于任意(A_i, B_i),有|X_{A_i} - X_{B_i}| = 1成立。我们发现,如果有解,那么一定存在一组解只有0,1构成证明:对于一个可行的解X,显然解集Y(Yi=Xi%2)也是这个问题的一个解于是我们将这些二元组连接成一张图,进行一次dfs标号即可,标号时用一条边连接起来的两个点不能同为0或1原创 2017-10-27 21:36:38 · 368 阅读 · 0 评论 -
Jzoj1277最高的奶牛
给你一个序列s和n个限制,(a,b)表示s[a]这不是裸的差分约束吗哈哈哈哈 诶TLE了怎么破认真观察发现:对于每个限制,要么不相交,要么包含,所以对于一组询问(a,b),将(a,b)内的数全部减掉1即可,可以用前缀和不过记得判重。。。这个很坑#include#includeusing namespace std;set f[10010];int n,m,h,k,s[1原创 2017-09-19 20:38:01 · 429 阅读 · 0 评论 -
Jzoj3934【NOIP2014day2官方数据】寻找道路
先从终点跑一次dijk得到哪几个点是可以连接到终点,让后再跑一次dijk注意不能经过没被标记的点即可#include#include#include#includeusing namespace std;struct node{ int v,id; };inline bool operator return a.v>b.v; }inline bool min(int& a,i原创 2017-10-05 21:07:28 · 574 阅读 · 0 评论 -
Jzoj3899 逻辑的连通性
题意:给你一个图,求出每个节点所在的联通快的大小总和显然就是tarjan找强连通分量了,没啥好说//#pragma GCC optimize("O3")//#pragma G++ optimize("O3")#include#include#include#includeusing namespace std;struct Edge{ int v,nt; } G[6000原创 2017-10-03 19:44:11 · 335 阅读 · 0 评论 -
Jzoj3907 蜀传之单刀赴会(梦回三国系列)
【题目背景】公元215年,刘备取益州,孙权令诸葛瑾找刘备索要荆州。刘备不答应,孙权极为恼恨,便派吕蒙率军取长沙、零陵、桂阳三郡。长沙、桂阳蜀将当即投降。刘备得知后,亲自从成都赶到公安(今湖北公安),派大将关羽争夺三郡。孙权也随即进驻陆口,派鲁肃屯兵益阳,抵挡关羽。双方剑拔弩张,孙刘联盟面临破裂,在这紧要关头,鲁肃为了维护孙刘联盟,不给曹操可乘之机,决定当面和关羽商谈。“肃邀羽相见,各驻兵马百步原创 2017-10-04 10:55:17 · 542 阅读 · 0 评论 -
Jzoj4437 线性代数与逻辑
不要被标题迷惑了,这是个图论题目。我们发现,若Ai,j=1那么显然Xi,j=1,所以y[i]!=y[j]这时候就变成了一个类似二分图的图,若Ai,j=1我们将节点i,j连一条边表示i和j不能相等我们先对每个节点i拆点成i和i+n,跑一次2sat,若i和i+n可以互达,那么显然无解,否则我们要将所有的点分入两个集合并且使得两个集合大小的乘积尽可能大这时候就可以对于每个节点i,dfs一原创 2017-10-06 19:53:51 · 425 阅读 · 0 评论 -
Jzoj5459【NOIP2017提高A组冲刺11.7】密室
小X 正困在一个密室里,他希望尽快逃出密室。密室中有N 个房间,初始时,小X 在1 号房间,而出口在N 号房间。密室的每一个房间中可能有着一些钥匙和一些传送门,一个传送门会单向地创造一条从房间X 到房间Y 的通道。另外,想要通过某个传送门,就必须具备一些种类的钥匙(每种钥匙都要有才能通过)。幸运的是,钥匙在打开传送门的封印后,并不会消失。然而,通过密室的传送门需要耗费大量的时间,因此,原创 2017-11-07 15:34:43 · 669 阅读 · 0 评论 -
Jzoj4736 漆黑列车载运数个谎言(GOSICK系列)
最近的题目都太难了啊,于是在oj上面瞎找题目来切正好这一套题目名都比较优雅于是就选了这一套这个看起来十分像并查集没错,我们发现,如果两个结论互为逆反命题,那么这两个结论等价而且一个逆命题的逆命题或者是反命题的反命题就是自己所以我们发现,1和2是等价的,这就如同敌人的敌人是朋友一般(一道很经典的题了)我们将0视为两个人是朋友,1,2表示两个人是敌人询问就等价于两个原创 2017-10-22 22:36:07 · 498 阅读 · 0 评论 -
Jzoj4722 跳楼机
srwudi的跳楼机可以采用以下四种方式移动:1、向上移动x层;2、向上移动y层;3、向上移动z层;4、回到第一层。一个月黑风高的大中午,DJL来到了srwudi的家,现在他在srwudi家的第一层,碰巧跳楼机也在第一层。DJL想知道,他可以乘坐跳楼机前往的楼层数(不大于h)。我们发现变量只有3个,所以必然考虑层数%x的情况,若第i层可达,则必然第i+kx层也可以到达原创 2017-10-15 17:30:36 · 542 阅读 · 0 评论 -
Jzoj5443【NOIP2017提高A组冲刺11.2】字典序
你需要构造一个1~n的排列,使得它满足m个条件,每个条件形如(ai,bi),表示ai必须在bi前面。在此基础上,你需要使它的字典序最小。今天的题目比较和善了,然而排名又下降不少,TAT...第一题就是个一眼题嘛,拓扑排序字典序最小?优先队列啊。。。。#include#include#include#include#include#define N 100010原创 2017-11-02 15:31:41 · 314 阅读 · 0 评论 -
一些基础算法的模板(持续更新)
更新中//Templates From Extended_Ash/Cooevjnz/JacaJava/Tubbcrafft//To be continued...//Suffix Automationchar str[N]; int s[N][26],mx[N],f[N],sz[N]; int last=1,cnt=1,n,v[N],r[N],ans=0; inlin原创 2017-10-25 22:05:58 · 3734 阅读 · 0 评论 -
SPFA的两个优化
最近看到知乎上面有人讨论怎么卡spfa并给出了这道题作为实战地点 于是我就搞了两个优化把出台人精心构造的数据过了 优化1: 这个优化不是我想出来的,如果没错应该是Menci的做法 本来这个优化已经可以过掉原来的五个数据的,让后fstqwq(出题人)搞了一个新数据把这个优化卡T了 其实就是每次入队,如果队头比队尾大那么就交换(感觉很像SLF但是比SLF强) 让后为了Ac我就加了第二...原创 2018-09-08 11:50:34 · 2049 阅读 · 3 评论