自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

szh_0808的博客

代码是最为耐心、最能忍耐和最令人愉快的伙伴,在任何艰难困苦的时刻,它都不会抛弃你。

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

原创 点双连通分量和圆方树

点双连通分量和圆方树及例题

2023-10-12 16:20:24 92

原创 异或最小生成树

异或最小生成树及例题

2023-10-05 21:51:11 144

原创 DSU ON TREE

DSU ON TREE及例题

2023-09-22 16:01:26 535

原创 kruskal重构树

kruskal重构树及例题

2023-09-22 13:44:21 234

原创 第一周学习进度

做题记录

2023-01-02 12:42:56 471

原创 UOJ #450 复读机

题目链接题目大意有排成一行nnn个物品和kkk个人,现在要给每个人分配一些物品,要求每个人分到的物品都是ddd的倍数。求分配的方案数。对194910011949100119491001取模。数据范围:n≤109,d≤3n\le 10^9,d\le 3n≤109,d≤3d=2,k≤5∗105d=2,k\le 5*10^5d=2,k≤5∗105d=3,k≤1000d=3,k\le 100...

2019-02-28 16:36:40 257

原创 后缀数组

后缀数组后缀数组简介什么是后缀数组后缀数组SA[]SA[]SA[]保存的是1∼n1\sim n1∼n的一个排列,其每个位置的元素代表将整个字符串的nnn个后缀排序后第iii小的后缀的首字母的下标。如何求后缀数组在求之前,先记住几个变量所代表的含义:sa[i]sa[i]sa[i]:后缀数组,代表第iii小的后缀的首字母下标。rk[i]rk[i]rk[i]:名次数组,代表首字母下标为i...

2018-10-03 21:56:59 248

原创 POI Knights

题目链接题目大意有n(n≤100)n(n≤100)n(n\le 100)个二元组描述了一个骑士的行进方式,遵从如下规则: 若二元组为(a,b)(a,b)(a,b),则骑士从(x,y)(x,y)(x,y)出发可以到达(x+a,y+b)(x+a,y+b)(x+a,y+b)或(x−a,y−b)(x−a,y−b)(x-a,y-b)两个二元组集合是等价的当且仅当有一个从(0,0)(0,...

2018-07-27 10:42:08 214

原创 TopCoder 1570 DesertWind

题目链接题目大意你在沙漠中,有一些不能去的地方和一些绿洲。你要从起点出发去绿洲(绿洲有多个),可以从一个格子走到他八联通的格子。 沙漠上会刮风,若你逆风走,需要三天的时间从一个格子到八联通,否则需要一天时间。 你会在一大早得知今天的风向,然后决定今天往哪儿走。 问到达绿洲最少需要几天。思路感觉一看就是DP。状态也很容易想,f[i][j]f[i][j]f[i][j]表示起点...

2018-07-14 17:03:50 321

原创 URAL 1029 Ministry

题目链接题目大意有一个n层楼的办公大楼,每一层楼有m个办公室,你希望通过一份文件,文件被通过当且仅当最顶层楼的人签过字。每个人签字有一定的花费,并且他签字只会当如下情况之一满足时。他正楼下的人签过字。他左面或右面的人签过字。求这份文件被通过的最小花费。思路考虑DP,状态显然:f[i][j]f[i][j]f[i][j]表示签到第iii层第jjj个办公室的最小花费。 ...

2018-07-14 17:03:11 219

原创 Codeforces 505C Mr. Kitayuta, the Treasure Hunter

题目链接题目大意一个人流落在了群岛上,但是他要捡钻石。 一共有30001个岛子,编号从0到30000。这个人从0出发开始跳,第一次跳长度为ddd,即从0号岛跳到ddd号岛。而后的跳跃遵循如下规则。若上一次跳的长度为lastlastlast,则这一次可以跳last−1,last,last+1last−1,last,last+1last-1,last,last+1三种步长。跳的长...

2018-07-12 15:48:20 186

原创 POJ 2287 Tian Ji -- The Horse Racing

题目链接题目大意田忌赛马的故事。赢一局给200块(“silver dollar”银美元大概是银两),平局不给钱,输一局赔两百块,问最大获利。思路这个题大概是个贪心。但是偏不用贪心解。 考虑田忌的出马顺序。当齐王的马是从高到低出时,田忌最优情况下只会有两种选择。出当前最强的马,去赢下这一场或平局。出当前最菜的马,故意输掉或平局。那么就可以DP。f[i][j]f[i...

2018-07-12 13:59:45 218

原创 TopCoder 8404 WarTransportation

题目链接题目大意有一个n(n≤100)n(n≤100)n(n\le 100)个点的有向图,一个人要从111出发去222,现在突发了一个事故,毁坏了一条道路,但是这个人只有走到这个道路的起点,他才会知道道路被毁坏了。求在最坏情况下的最短路。思路原文的英文真是说的稀里糊涂。题目大意也好容易才翻译出来。。。 拿到这个题不是很有思路的。 首先预处理出一个bad[x]bad[x]ba...

2018-07-12 13:46:36 207

原创 TopCoder 1643 PossibleOrders

题目链接题目大意给定一些形如A=BA=BA=B的等式,问有几种在这些等式之间添加符号(=,<,>=,<,>=,)的方法使得不等式成立。思路首先肯定可以想到并查集,将所有相等的数合并到一起考虑。 再可以想到>>>其实是没有用的,因为大于号不可能和小于号同时发生(a<b>ca<b>cac的形式就已经把等式锁死了)。 那...

2018-07-11 14:39:21 186

原创 HDU 5519 Kykneion asma

题目链接 题目大意给定一个nnn和一个序列ai(0≤i≤4)ai(0≤i≤4)a_i(0\le i\le 4)求满足下列条件的nnn位数个数。没有5.6.7.8.95.6.7.8.95.6.7.8.90.1.2.3.40.1.2.3.40.1.2.3.4的个数不超过aiaia_i对109+7109+710^9+7取模思路感觉很像是生成函数题。 但是据说生成函数做...

2018-07-09 23:12:26 399

原创 CodeChef MONOPLOY Gangsters of Treeland

题目链接题目大意给定一棵树(111号节点是根),一开始所有节点的颜色都不同,给出qqq个操作,有如下两种O xO xO\ x:将根节点到xxx节点的路径上的所有点赋成一个全新的颜色。q xq xq\ x:查询以xxx为根的子树的所有点到根的所有路径中每一条经过的不同的颜色的个数的平均数。思路正解是LCT,但是我并不会LCT考...

2018-07-08 00:13:21 256

原创 Codeforces GYM 101234A Hacker Cups and Balls

题目链接题目大意给定一个长为n(n≤99999)n(n≤99999)n(n\le 99999)的序列,支持如下操作:选定一顿区间[l,r][l,r][l,r],将l∼rl∼rl\sim r的数按照升序(当l<rl<rll>rl>rl>r)思路考虑二分。二分中间这个数x=midx=midx=mid,对于所有小于等于midmidmid的数都记为111...

2018-07-05 13:56:40 416

原创 ZOJ 4009 And Another Data Structure Problem

题目链接题目大意给定一个长为n(n≤105)n(n≤105)n(n\le 10^5)的序列a[i]a[i]a[i]。支持如下两种操作。1 l r1 l r1\ l\ r:将区间[l,r][l,r][l,r]内每个数都变成自己的立方。2 l r2 l r2\ l\ r:求∑ri=la[i](mod9997...

2018-07-05 10:05:40 186

原创 SGU 313 Circular Railway

题目链接题目大意有一个长度为L(L≤109)L(L≤109)L(L\le 10^9)的环形铁路,在铁路的某些点上有一些人或一些办公室,现在要求给每个人配一个办公室,让所有人的上班路程最短。思路考虑问题的简化版:如果不是环形,是一条直线铁路那么很明显应该是贪心:就像括号匹配一样将人和办公室匹配即可。 回到这个问题,我们应该断环为链。 下面来证明为什么环一定可以被断开:想想一下...

2018-07-04 16:15:28 346

原创 Codeforces 997C Sky Full of Stars

定义AiAiA_i为第iii行只有一种颜色的颜色集合,定义BiBiB_i为第iii列只有一种颜色的颜色集合。则答案转化为求 |A1∪A2∪⋯∪An∪B1∪B2∪⋯∪Bn||A1∪A2∪⋯∪An∪B1∪B2∪⋯∪Bn|\left|A_1\cup A_2\cup\cdots\cup A_n\cup B_1\cup B_2\cup\cdots\cup B_n \right| 我们使用容斥原理...

2018-07-03 10:52:59 587

原创 POJ 1038 Bugs Integrated, Inc.

题目链接题目大意:你有一个大小为n∗m(n≤150,m≤10)n∗m(n≤150,m≤10)n*m(n\le150,m\le 10)的矩形,其中有一些格子是不能选择的,现在问最多能从中完整的取出几个2∗32∗32*3(可旋转)的矩形。思路:看到n,mn,mn,m相差如此之大,很容易让人浮想联翩。所以想到状压。 但是考虑状态。2∗32∗32*3的片片,在竖着摆放的时候,我们肯定需要知道他上...

2018-07-02 14:45:26 235

原创 USACO 2016 US Open Contest总结

比赛链接T1 Splitting the Field题目链接题目大意:平面上有一些点,问用一个矩形把他们都框起来比用两个矩形都框起来花费面积要大多少(矩形可以使一条线)。思路:考虑一个矩形变成两个矩形,要么是竖着切一刀要么是横着切一刀。所以我们统计一个点左边和一个点右边最高最远的点在哪里,枚举求出答案即可。#include <iostream>#include...

2018-05-29 15:11:44 322

原创 USACO 2016 December Contest总结

比赛链接T1 Moocast题目链接题目大意:确定一个最小的通信距离使得一个平面上给定一些点直接或间接联通。思路:二分。五分钟做出来了。。。#include<cstdio>#include<cstring>#include<string>#include<algorithm>#include<iostream&g...

2018-05-29 15:11:11 334

原创 USACO 2017 January Contest总结

比赛链接T1 Balanced Photo题目链接题目大意:一个人要给他的一堆牛拍照,每头牛有一个身高且身高互不相同。定义L[i]L[i]L[i]为第iii头牛左边比它高的牛的个数,R[i]R[i]R[i]为第iii头牛右边比它高的牛的个数,定义“不平衡的牛”:它的L[i],R[i]L[i],R[i]L[i],R[i]相差两倍以上,求不平衡的牛的个数。思路:以下是刚看到题的时候的心...

2018-05-29 15:10:23 375

原创 USACO 2017 February Contest总结

比赛链接T1 Why Did the Cow Cross the Road题目链接题目大意:给定一个N×NN×NN\times N的网格。穿过两个格子的交界处需要有一个花费,每走三个格子也会有一个花费,问从左上角走到右下角的最小花费。思路:一眼看上去每三个格有一个花费,看上去不是很好处理,仔细一想。 想 想。 发现我们可以将每三步化成一步,看一个点走三步可以到哪,就连边,边权...

2018-05-29 15:09:47 394

原创 USACO 2017 US Open Contest总结

比赛链接T1 Bovine Genomics题目链接题目大意:给定N个“奇特的串”和M个“正常的串”,让你选择一个最短的区间[l,r][l,r][l,r],使得没有一个奇特的串的这个区间和任何一个正常的串的这个区间相同。思路:二分+哈希。 - 因为是求最短的区间,所以二分。 - 因为判断两个串是否相同,所以哈希。 - 实现起来还是比较简单:二分区间长,枚举起点,暴力检验。...

2018-05-29 15:07:49 421

原创 USACO 2018 January Contest

比赛链接T1 MooTube题目链接题目大意:给定一个图,两个点之间的距离是他们路径上边权的最小值。给定一个起点,求距离大于等于K的点有几个。思路:考虑并查集。 - 将边权排序,将询问排序离线处理。 - 用两个指针,代表边加了多少和询问处理到第几个。 - 对于每一个询问,将所有边权小于等于它的边,全都加进去,也就是将两个端点所在并查集合并。1A#include&l...

2018-05-28 15:43:44 431

原创 USACO 2018 February Contest总结

比赛链接T1 Snow Boots链接题目大意:Q个询问,询问一个长为N的序列有没有长度大于等于didid_i的权值全部大于viviv_i的子区间。思路:将所有积雪按照深度排序,所有靴子按照承受深度排序,离线处理后,询问就变成了将一些积雪合并后有没有长度大于承受深度的区间。 采用双向链表实现。 1A#include<cstdio>#include&lt...

2018-05-28 15:42:47 378

原创 USACO 2018 US Open Contest总结

比赛链接T1 Out of Sorts题目链接题目大意:给定一个类似于冒泡排序的程序,问能while循环多少次。 思路:观察给定程序,实际上是从左向右将每个数移到它左边第一个比它大的数左边,然后从右向左将每个数移到它右边第一个比他小的数右边。 所以问题就转化成了一个数左边多少个数比他大。 树状数组即可。 1A。 Code:#include<cstdio>...

2018-05-28 15:41:08 1642

原创 Codeforces 856B Similar Words

题目链接题目大意:你有一堆串,要求从这些串中选择一些前缀,使这些前缀: - 不相等 - 去掉首字母后也不相等求最多选出多少前缀。思路:我们考虑不合法的一对前缀会是什么样。 - 两个串相同或两个串差第一位相同我们如果对于所有串建出AC自动机,会是什么一个表现? - 建出fail边之后,对于一个前缀i,fail[i]的长度应该是i的长度-1.所以我们对于所有串建出AC自动机...

2018-05-21 20:14:48 265

原创 点分治学习小记

点分治通过一道题,发现了点分治这个算法,现在学习一下并做一个总结。预备知识树的直径:树上最长的一条路径 求法:两次DFS。 第一次DFS随意定根,找到离根最远的点。第二次DFS以最远点为根,再找到离根最远的地方,路径长度就是树的直径。证明:脑补可得。树的重心:找到一个点,其所有子树中最大的子树节点最少。(这个点作为根时最大的子树节点个数最少) 优点:删去重心之后,生成...

2018-05-19 22:28:24 754

原创 数论学习小记 DAY1 基础数论

省选两天出了两道数论,连暴力都不会打。回头一看确实自己的数论什么都不会。从头学起,开博客记录一下。立一个flag:半个月学完数论基础数论1.欧几里得和扩展欧几里得先说几个简单的概念。整除:定义如下:设a是非零整数,b是整数,若存在一个整数q,使得 b=a×qb=a×qb=a \times q 则称b可被a整除,记作a|ba|ba|b,称b是a的倍数,a是b的因数。下面有几...

2018-05-17 14:35:12 449

原创 APIO2018小记

一个不敢参加CTSC只来了APIO却依然没有什么好下场的蒟蒻的小记。T1 New Home一开始敲了Subtask1,n²暴力。 觉得只拿五分不甘心啊,去看Subtask2,想了一个神奇的做法:离线处理,将询问按时间排序,再将所有商店也按时间排序,枚举k,对于每一个k分别开一个set和一个priority_queue,set里面放坐标,priority_queue是pair<结束时...

2018-05-12 17:23:28 505

原创 Codeforces 48G Galaxy Union

题目链接题目大意:有n个点和n条边的连通图,求每一个点到其他所有点的最短路和。思路:原图因为是连通图,所以就是一棵树加上了一条边,形成了一个基环外向树(又称环套树),形状上就是一个环,环上每个点向外延伸出一棵树。 对于“外向树”上的点,统计答案较为简单,是一个经典的树形DP模型。f[i]表示i的子树到i这个节点的距离和,sz[i]表示i的子树大小,最后再加上i到根的距离*(n-sz[i]...

2018-04-20 22:08:37 216

原创 Codeforces GYM 101635D Candy Chain

题目链接题目大意:一个人有一个糖果序列,由’a’-‘z’组成,现在有一些孩子来买糖果,每个人的糖果都是不同的字母序列。这个人可以选择连续的一段卖出,并将左右连接起来,求最大收益。思路:最大化问题,一般都是DP,这里可以看出是求区间最大化,所以也能想到是区间DP。 先设计一个裸状态:g[i][j]表示区间i,j全部卖光的最大值。 恩,确实很裸。但是问题有两个:1.我们发现无法转移,对于多...

2018-04-16 10:51:18 487 1

原创 Codforces GYM 100503B Kakuro

题目链接题目大意:用电脑完成一个数谜游戏。 数谜游戏规则如下:每一个已知格子有两个数字,位于左上角和右下角,左上角的数字代表这个格子右侧连续的空白格的数字和,右下角的数字代表这个格子下方连续的空白格的数字和。每个空白格可以填1——9的数字。每行每列数字不能重复。思路:一眼看过去大概就是爆搜 //一开始想了个网络流直到跑出来才发现这样没法保证数字不重复555 但是肯定需要剪枝,而且需要...

2018-04-13 17:04:00 453 1

原创 AtCoder ARC094F Normalization

题目链接 题目大意:有一个由abc组成的串,可以选择相邻的两个不同的字符替换成第三种字符,问最多能形成多少种不同的串。思路:求方案数,大概是DP。一开始苦思冥想了一大堆状态,但是没有一个和字符集{a,b,c}有联系的。这样就没法保证复杂度。后来发现,我们的abc可以对应到模数的012上,所以每一个变换在模3下的和是不变的,所以我们总结出规律:s中有无相邻相同的字符会对答案有影响,故设计状态如...

2018-04-10 21:54:32 467

原创 洛谷4382[八省联考2018]劈配

省选滚粗回家。 满怀信心的day2t1网络流。一个半小时自信过样例。然后就回家了。首先能很快的看出这是一个网络流。 第一问:我们考虑匹配,按顺序枚举人,再按顺序枚举优先级,每次在前一个优先级的残余网络上加边,跑最大流,若流量是1,则说明这是他的理论可能的最高优先级,去做下一个人,否则继续枚举优先级。 第一问较简单。。考场上写的程序所有点的第一问都能过,然后第二问炸了。 第二问:二分他的...

2018-04-09 08:04:10 225

原创 网络流建模小结

连刷两周的网络流,对建模也有一定的认识。做此小结。最大流最大流可以说是网络流算法中比较简单的了,基本都是靠一条流来表示一种实际方案,常用于求方案数,最大值,可行性等。POJ 3281 Dining题目链接戳戳题目大意:有一些牛,一些饮料和一些食品。饮料和食品都只有一种。每个牛有自己喜欢的食品和饮料。问能否合理分配使得每个牛的食品和饮料都是自己喜欢的。建模思路:平常的...

2018-04-02 14:58:06 251

原创 主席树小结

学习完平衡树,开始学习主席树。何为主席树一种树,一种离线的数据结构,一种线段树,全名叫函数式版本的线段树。每一个节点存的是一段数字区间内出现的次数,但是它和线段树的区别是,他有一堆根。为何得名主席树呢?发明者的简拼是HJT(Hu Jintao)。主席树有一个神奇的性质:满足区间减法。如何实现先假设我们没有修改操作。对于每个前缀s[i],保存一个线段树t[i],组成主...

2018-03-03 17:11:22 171 1

空空如也

空空如也

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

TA关注的人

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