自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

终有绿洲摇曳在沙漠

做一道难题,总比切百道水题来的收获多;做百道难题,却没切一道水题来的有趣。

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

原创 Petrozavodsk Winter 2018 - A. Mines - 线段树优化建图、强连通分量缩点、DP

题意: 一维数轴上有 nnn 个雷。第 iii 个雷在位置 pip_ipi​。 花费 cic_ici​ 的代价可以引爆第 iii 个雷,并将区间 [pi−ri,pi+ri][p_i-r_i,p_i+r_i][pi​−ri​,pi​+ri​] 的范围的雷全部引爆,引起连锁反应而不需要额外的代价。现在又 qqq 次修改,每次修改一个雷的花费,然后询问使得所有雷爆炸的最小花费是多少。1≤n,q...

2019-10-16 22:20:41 244

原创 Grand Prix of Saratov - D. Elevator - DP

题意: 有一台电梯,可以容纳无限容量的人,初始在 0 层,每次可以移动到所载人群中 需要到达的最高层,并最终返回 0 层。每层移动时间为 1,忽略人进出时间。现在有 nnn 名按时间顺序到达 0 层电梯口的人,第 iii 个人将在 tit_iti​ 时刻到达电梯口,想去楼层 aia_iai​。现在询问最短花费多少时间使得电梯将所有人运送玩并回到 0 层?1≤n≤2×1051\le n\le 2...

2019-09-21 19:23:12 280

原创 Codeforces487D - Conveyor Belts - 分块、记忆化搜索

D. Conveyor Belts题意: 给出一个二维 n×mn\times mn×m 的传送带地图,其中>字符表示当前位置 (x,y)(x,y)(x,y) 传送至 (x,y+1)(x,y+1)(x,y+1),<表示传送至 (x,y−1)(x,y-1)(x,y−1),^表示传送至 (x−1,y)(x-1,y)(x−1,y)。现在有 qqq 次询问,询问有两种类型,其中A x y表示询...

2019-09-05 21:51:14 352

原创 SoS-DP 学习笔记

reference: https://codeforces.com/blog/entry/45223前置技能: 状态压缩 DPSoS-DP 全称是 Sum over Subsets Dynamic Programming,即子集和 DP,属于状态压缩 DP 中的一个经典问题的优化。1. 问题引入求 f[s]=∑i∈sa[i]f[s]=\sum\limits_{i\in s} a[i]f...

2019-09-02 17:08:21 385

原创 Codeforces449D - Jzzhu and Numbers - 容斥、状压dp

D. Jzzhu and Numbers题意: 给出数列 a1,a2,⋯&ThinSpace;,ana_1,a_2,\cdots, a_na1​,a2​,⋯,an​,询问有多少个子序列满足 ai1 &amp; ai2 &amp; ⋯ &amp; aik=0a_{i_1}\ \&amp;\ a_{i...

2019-04-23 21:55:59 251

原创 BITACM2018第一轮积分赛(三)题解

A. 很会dp 出题人: zhber AC/TOT: 1/50题解: 因为 V&quot; role=&quot;presentation&quot; style=&quot;position: relative;&quot;&gt;VVV 实在太大了,所以做背包 dp&quot; role=&quot;presentation&quot; style=&quot;position: relative;&a

2018-12-17 12:58:15 1774 2

原创 BITACM2018第二轮积分赛(一)题解

A - 一道可持久化并查集好题 出题人: zhberzhberzhber 通过/提交: 17/3717/3717/37题解: 此题数据极小,直接模拟即可。撤销操作就是不执行前面 kkk 次操作,把撤销操作视为返回 kkk 次之前的历史版本。用state[i][j][k] 表示第 iii 次操作后第 jjj 个点和第 kkk 个点是否联通,对于 111 操作,复制上一次操作之...

2018-12-17 12:57:29 684

原创 Codeforces1023F - Mobile Phone Network - 并查集、思维

题意: n&nbsp;(1≤n≤5⋅105)n\ (1\le n\le 5\cdot 10^5)n&nbsp;(1≤n≤5⋅105) 个点, k&nbsp;(1≤k≤n−1)k\ (1\le k\le n-1)k&nbsp;(1≤k≤n−1) 条未知权值的边,m&nbsp;(1≤m≤5⋅105)m\ (1\le m\le 5\cdot 10^5)m&nbsp;(1≤m≤5⋅105) 条已知权值的原...

2018-11-12 14:04:23 393

原创 【牛客多校第一场】A - Monotonic Matrix

一、题意概述问你有多少个满足条件的 n⋅m&nbsp;(1≤n,m≤103)n·m&nbsp;(1≤n,m≤103)n·m\ (1\leq n,m\leq 10^3) 的矩阵 AAA,满足矩阵每个元素 Ai,j∈{0,1,2}Ai,j∈{0,1,2}A_{i,j}\in\{0,1,2\} 并且 Ai,j≤Ai+1,jAi,j≤Ai+1,jA_{i,j}\leq A_{i+1,j} 而且 Ai,...

2018-07-19 19:10:45 1172 1

原创 【牛客多校第一场】J - Different Integers

一、题意概述给你 n&nbsp;(1≤n≤105)n&nbsp;(1≤n≤105)n\ (1\leq n\leq 10^5) 个数 a1...n&nbsp;(1≤ai≤n)a1...n&nbsp;(1≤ai≤n)a_{1...n}\ (1\leq a_i \leq n) 并且有 q&nbsp;(1≤q≤105)q&nbsp;(1≤q≤105)q\ (1\leq q\leq 10^5) 次询问,...

2018-07-19 18:53:13 339

原创 差分约束系统学习笔记

差分约束系统一、预备知识最短路基本性质#define inf 0x3fffffff#define M 1005 //最大点数struct edge{ int v, w, next;}e[10005]; //估计好有多少条边int pre[M], cnt, dist[M], n;bool inq[M];//注意初始化void init (...

2018-05-08 21:03:21 4996 5

原创 Codeforces400E - Inna and Binary Logic - 思维、数学

E. Inna and Binary Logic 分类: brute force mathDescription初始给你长度为 n&nbsp;(1≤n≤105)n&nbsp;(1≤n≤105)n\ (1\leq n\leq 10^5) 大小的数组,现在会执行一种操作持续 nnn 轮,每次 ai,j=ai−1,j&nbsp;&amp;&nbsp;ai−1,j+1ai,j=ai−...

2018-03-21 10:53:44 214

原创 Codeforces403D - Beautiful Pairs of Numbers - 组合数学、dp

D. Beautiful Pairs of Numbers 分类: combinatorics dpDescription定义这一类数对 (a1,b1),(a2,b2),⋯,(ak,bk)(a1,b1),(a2,b2),⋯,(ak,bk)(a_1,b_1),(a_2,b_2),\cdots,(a_k,b_k) 是美丽的,当它满足:1≤a1≤b1&lt;a2≤b2&lt;⋯&...

2018-03-21 10:50:16 411

原创 Codeforces392E - Deleting Substrings - 动态规划

392E - Deleting Substrings 分类: dp题意: 有一长度为 n&amp;nbsp;(1≤n≤400)n&amp;nbsp;(1≤n≤400)n\ (1\leq n\leq 400) 的序列 W&amp;nbsp;(1≤wi≤109)W&amp;nbsp;(1≤wi≤109)W\ (1\leq w_i\leq 10^9) 和 V&amp;nbsp;(0≤|vi|≤2000)V&amp;nbsp;(0≤|vi...

2018-03-05 22:17:44 331

原创 BITACM2018第一轮积分赛(二)题解

A. Maze题意概述: 给出 n×m (1≤n,m≤500)" role="presentation">n×m (1≤n,m≤500)n×m (1≤n,m≤500)n×m\ (1\leq n,m\leq 500) 地图,其中 . 是空白处,# 是障碍处, 其中有 s" role="presentation">sss 个 . 构成一整块连通块,现

2018-01-26 12:15:26 732

原创 BITACM2018第一轮积分赛(一)题解

A. Watermelon by miamiaodescription:description:给出一个西瓜的质量ww,问能不能把这个西瓜分成两份,每一份的质量都是正偶数。solution:solution:如果满足w≥4w\ge4且ww是偶数,就可以。否则不行。#includeusing namespace std;int n;int main(){ sc

2018-01-21 12:05:28 1192

原创 Codeforeces - 903E. Bipartite Segments - dfs、二分图

E. Bipartite Segments 分类: data structures dfs and similar题意: 给你一个无向图,n(1≤n≤3×105)n(1\leq n\leq 3\times 10^5) 个点,保证没有偶数环,有 q(1≤q≤3×105)q(1\leq q\leq 3\times 10^5) 次询问,每次给出 l rl\ r, 问只保留编号 [l,r][l,r]

2017-12-20 16:19:59 514

原创 线性基学习笔记

线性基学习笔记 前言: 即西安区域赛A爆炸以后,觉得高斯消元这东西的没学好。耐下性子来读了些东西,总结如下概述基(basis)是线性代数中的一个概念,它是描述、刻画向量空间的基本工具。而在现行的 OI 题目中,通常在利用基在异或空间中的一些特殊性质来解决题目,而这一类题目所涉及的知识点被称作「线性基」。预备知识这里有一些线性代数的基本知识,以便更好的理解基的概念。向量空间(vector spa

2017-11-01 15:09:44 430

原创 CF - 872E. Points, Lines and Ready-made Titles - 并查集+数学

E. Points, Lines and Ready-made Titles 分类: disjoint set math 1.题意概述平面直角坐标系上有 n(1≤n≤105)n(1\leq n\leq 10^5) 个点,你可以在每个点画一条横线或一条竖线或者不划线。问你构成的图像有多少种不同的图?答案取模 109+710^9+7 。2.解题思路考虑这个画图的特殊性,问题可以转化为:这些点

2017-10-25 15:55:10 368

原创 POJ1236 - Network of Schools - 图论

Network of Schools 题目链接 分类:Graph1.题意概述N(2<N<100)N(2<N<100)各学校之间有单向的网络,每个学校得到一套软件后,可以通过单向网络向周边的学校传输,问题1:初始至少需要向多少个学校发放软件,使得网络内所有的学校最终都能得到软件。2,至少需要添加几条传输线路(边),使任意向一个学校发放软件后,经过若干次传送,网络内所有的学校最终都能得

2017-08-29 16:13:07 370

原创 POJ3177 - Redundant Paths - 图论

Redundant Paths 题目链接 分类:Graph1.题意概述有n(1≤n≤5000)n(1≤n≤5000)个牧场,Bessie 要从一个牧场到另一个牧场,要求至少要有2条独立的路可以走。现已有m(n−1≤m≤10000)m(n-1≤m≤10000)条路,求至少要新建多少条路,使得任何两个牧场之间至少有两条独立的路。两条独立的路是指:没有公共边的路,但可以经过同一个中间顶点

2017-08-29 16:12:02 314

原创 HDU1269 - 迷宫城堡 - 图论

迷宫城堡 题目链接 分类:Graph1.题目描述给你一个图,要你判断图是否为强连通图。2.解题思路根据Tarjan算法,直接去强连通缩点,最后判断点是否为1就好了。3.AC代码#include <bits/stdc++.h>using namespace std;#define rep(i,a,n) for (int i=a;i<n;i++)#define per(i,

2017-08-29 16:07:20 297

原创 UVA796 - Critical Links - 桥

Critical Links 题目链接 分类:Graph1.题意概述给你一个图,要你按顺序求出图中所有的桥。2.解题思路根据Tarjan求割边的算法找出所有low[v]>dfn[u]边就行,算是一道入门题。3.AC代码#include <bits/stdc++.h>using namespace std;typedef pair<int, int> PII;#defin

2017-08-29 16:03:53 292

原创 POJ2778 - DNA Sequence - AC自动机+矩阵快速幂

DNA Sequence 题目链接 分类:data structures strings1.题意概述有M(1<=M<=10)种DNA序列是表示有“病症”的,现在要你构造长度为N(1<=n<=2000000000)的DNA序列,是的它不包含任何一种有疾病的DNA序列。2.解题思路对于样例病毒序列{ACG,C}\{ACG,C\}我们构造AC自动机(Tire树)的转移状态如图:也就是

2017-08-18 19:54:31 334

原创 HDU3065 - 病毒侵袭持续中 - AC自动机

病毒侵袭持续中 题目链接 分类:data structures strings1.题意概述给你N(1<=N<=1000)个模式串,再给你一个病毒串,问这些模式串分别出现过几次?2.解题思路AC自动机裸题,直接插入时候维护每个串ID,再开一个cnt[i]数组维护第i个模式串出现次数即可。3.AC代码char str[1001][60];class Trie {public:

2017-08-18 19:36:08 245

原创 HDU2896 - 病毒入侵 - AC自动机

病毒侵袭 题目链接 分类:data structures strings1.题意概述给你N(1<=N<=500)个模式串,M(1<=M<=1000)个待匹配串,查询这M个串每个串中模式串出现过哪几个,和总的出现次数。2.解题思路也是裸的AC自动机,因为是有查询几次,为了方便输出,我们插入同时维护记录一下插入的每个模式串的id和次数。3.AC代码class Trie {pub

2017-08-18 19:19:46 277

原创 HDU2222 - Keywords Search - AC自动机

Keywords Search 题目链接 分类:data structures strings1.题意概述给你N(N <= 10000)个模式串和一个待匹配串,现在问你待匹配串中出现过几种模式串?2.解题思路裸的AC自动机,因为问的是出现过几次,所以标记策略是每一类的最后一个位置置1,Query时候访问过一个种类就注意置0!3.AC代码class Trie {public:

2017-08-18 19:14:12 234

原创 Codeforces - 498D. Traffic Jams in the Land - 线段树+数学

Traffic Jams in the Land 题目链接 分类:dp number theory data structures 1.题意概述某个国家有(n+1)(n + 1)个城市(1≤n≤105)(1≤n≤10^5),城市之间有高速公路,其中第ii段高速公路是从城市ii通往城市(i+1)(i+1)的,而且第ii条道路有一个属性值ai(2≤ai≤6)a_i(2≤a_i≤6)表示

2017-08-13 13:08:09 390

原创 Codeforces - 35D. Animals - 贪心+排序

Animals 题目链接 分类: greedy1.题意概述有某类动物,要在农场中待n(1 ≤ n ≤ 100)n(1 ≤ n ≤ 100)天,第ii天,这类动物要吃的粮食为cic_i,现在初始粮草是X(1≤X≤104)X(1≤X≤10^4),问你最多可以容纳几只动物(动物可以中途来,但是不能中途走)?2.解题思路我们先把第i天到最后1天所需的粮食求出来,再排序一下,然后贪心地选

2017-08-13 12:03:14 468

原创 Codeforces - 95D. Horse Races - 数位dp+大数运算

Horse Races](https://vjudge.net/problem/CodeForces-95D) 题目链接 分类:dp math1.题意概述规定4和7是幸运数,而且约定一个数是“辛运数字”当且仅当,相邻两个幸运数字的数位距离不超过k(1≤k≤1000)k(1≤k≤1000),现在给定你一个区间[l,r](1≤l≤r≤101000)[l,r](1≤l≤r≤10^{100

2017-08-13 11:45:14 487

原创 HOJ2064 - Journey to Tibet - 并查集+暴力

Journey to Tibet 题目链接 分类:dsu brute force1.题意概述​ 给出你n(1≤n≤1000)n(1≤n≤1000)个寺庙的坐标,相邻两个寺庙,你最多只能走30km30km现在问你总哪个起点出发,能够走尽可能多的寺庙,相同则输出输入编号的最小值。2.解题思路这题本质是求最大的连通块,连通问题,我们都可以考虑用并查集维护,父亲就是集合里面id最小的,

2017-08-13 11:34:12 222

原创 Codeforces - 662A. Gambling Nim - 博弈

Gambling Nim 题目链接 分类:bitmask math matrices probabilities1.题意概述给你n(1≤n≤500000)n(1≤n≤500000)张卡片,每张卡片的两个面(正面aia_i反面bib_i)都有写数字,每个面都有0.5的概率正面,卡牌正反面的概率相互独立,求把所有卡牌正面数字(ci=ai or bic_i=a_i\ or \ b_i)拿

2017-08-13 11:23:57 608

原创 HDU1561 - The more, The Better - 树形dp

The more, The Better 题目链接 分类:dfs and similar dp trees1.题意概述ACboy很喜欢玩一种战略游戏,在一个地图上,有N座城堡,每座城堡都有一定的宝物,在每次游戏中ACboy允许攻克M个城堡并获得里面的宝物。但由于地理位置原因,有些城堡不能直接攻克,要攻克这些城堡必须先攻克其他某一个特定的城堡。你能帮ACboy算出要获得尽量多的宝物应

2017-08-11 22:26:37 212

原创 HDU1011 - Starship Troopers - 树形dp

Starship Troopers 题目链接 分类:dfs and similar dp trees1.题意概述出每个房间拥有的BUG数和能得到的能量数,然后给出每个房间的树形联通图,要到下一个房间必须攻破上一个房间,每个士兵最多消灭20个BUG,就算不足20个BUG也要安排一个士兵。2.解题思路树形dp入门题,对于每个房间,除去它本身需要的士兵,其他士兵就可以提供给它的子房间

2017-08-11 22:15:25 282

原创 Codeforces - 99B. Help Chef Gerasim - 排序

Help Chef Gerasim 题目链接 分类:implementation sortings1.题意概述给你n个茶杯,里面分别有a[i]毫升的水,现在要你最多倒一次使得所有杯子里面水的容量相同。2.解题思路直接排序以后,最终答案就是总容量总杯子数\frac{总容量}{总杯子数},让水最多的倒给最少的即可,还有一些trick点,比如总杯子数不能整除总容量,还有需要倒多次的情

2017-08-07 17:04:30 713 1

原创 Codeforces - 80D. Falling Anvils - 数学

Falling Anvils 题目链接 分类:geometry probabilities1.题意概述给你一个一元二次方程x2+p√⋅x+q=0x^2+\sqrt{p}·x+q=0,再告诉你p∈[0,a]p∈[0,a]且q∈[−b,b]q∈[-b,b],问你这样情况下,这个方程有实数根的概率。2.解题思路这题一元二次方程有实数解,则p−4q≥0⇒p≥4qp-4q≥0⇒p≥4q,

2017-08-07 16:49:10 308

原创 POJ1947 - Rebuilding Roads - 树形dp

Rebuilding Roads 题目链接 分类:dfs and similar trees dp1.题意概述给你一颗有nn个节点构成是树,现在要你删去最少的边,使得剩下连通的点构成的树刚好有pp个节点。2.解题思路容易想到是一个树形dp,dp[i][j]dp[i][j]表示以ii节点为根节点,得到jj个节点的子树需要去掉的最少边数,那么转移方程为:考虑其儿子kk选或者不选——

2017-08-07 16:33:09 236

原创 Codeforces - 52B. Right Triangles - 数学

Right Triangles 题目链接 分类:combinatorics1.题意概述给你一个n×mn×m的字符串矩阵(由.和*组成),问你有多少个与矩阵边平行的直角三角形?2.解题思路对于|_和_|形的三角形,我们只需要在底边_上方看有多少个*即可,所以公式就是(x[i]−1)×(y[i]−1)(x[i]-1)×(y[i]-1),对每一次累加求和即为答案。3.AC代码cha

2017-08-07 16:12:48 349

原创 URAL1040 - Airline Company - dfs+思维

300人委员会的复仇 题目链接 分类:dfs and simiar math1.题意概述给你n个点和m条边构成的图,要你对着m条边进行赋值(为1到m的不重复分配),使得任意点的所有边的gcd的值为1,如果存在方案输出YES和分配方案,否则输出NO。2.解题思路我们考虑去按dfs序去编号,这样可以保证的是,某个点的边被访问,那么相邻的边至少有一条编号是连续的,但是隐隐感觉还缺少点

2017-08-07 15:52:18 1421

原创 Codeforces - 551D. GukiZ and Binary Operations - 数学+矩阵快速幂

GukiZ and Binary Operations 题目链接 分类:matrices combinatorics math number theory1.题意概述给你一个长度为n的数组a[1...n]a[1...n],满足a[i]<2na[i] < 2^n,并且有![题目][http://codeforces.com/predownloaded/22/4b/224b1cd104

2017-08-07 15:12:04 331

空空如也

空空如也

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

TA关注的人

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