自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

山科小菜鸡

记录自己的ACM路程。。很菜。

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

原创 HDU 6397 Character Encoding 容斥 2018杭电多校第八场

Character EncodingTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 510    Accepted Submission(s): 194 Problem DescriptionIn computer sc...

2018-08-15 23:15:19 240

原创 HDU 6394 Tree 树分块或者LCT 2018杭电多校第七场

TreeTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 380    Accepted Submission(s): 130Problem DescriptionAlice and Bob are playing with a...

2018-08-14 18:28:09 473

原创 CodeForces 1013D Chemical table

题目大意:给你一个n*m的矩形,一开始有q个格子上被标记。对于任意两行两列,如果交汇的四个格子中有三个被标记,那么第4个会被自动标记。问你至少需要手动标记几个格子,使得整个矩形内的格子都被标记。思路:这是一个感觉很牛逼的思路题, 首先你要将问题转化以下, 一个点与这个点所对应的行和列都有关系, 所以我们可以把这个点想象成它连接了它所在的行和列, 这样你再回想一下题意, 三个格子自动生成...

2018-08-07 23:32:38 326

原创 HDU 6356 Glad You Came 线段树或反向RMQ 2018杭电多校第五场

Glad You CameTime Limit: 10000/5000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)Total Submission(s): 885    Accepted Submission(s): 327Problem DescriptionSteve has an integer a...

2018-08-06 23:22:02 295

原创 HDU 6311 Cover 欧拉回路记录路径 2018杭电多校第二场

Problem DescriptionThe Wall has down and the King in the north has to send his soldiers to sentinel.The North can be regard as a undirected graph (not necessary to be connected), one soldier can co...

2018-07-27 11:24:00 237

原创 BZOJ 1935 Tree 园丁的烦恼 cdq分治

Description很久很久以前,在遥远的大陆上有一个美丽的国家。统治着这个美丽国家的国王是一个园艺爱好者,在他的皇家花园里种植着各种奇花异草。有一天国王漫步在花园里,若有所思,他问一个园丁道: “最近我在思索一个问题,如果我们把花坛摆成六个六角形,那么……” “那么本质上它是一个深度优先搜索,陛下”,园丁深深地向国王鞠了一躬。 “嗯……我听说有一种怪物叫九头蛇,它非常贪吃苹果树……” “是...

2018-07-26 19:20:43 285

原创 HDU 5412 CRB and Queries 整体二分

Problem DescriptionThere are N boys in CodeLand.Boy i has his coding skill Ai.CRB wants to know who has the suitable coding skill.So you should treat the following two types of queries.Query 1: ...

2018-07-25 11:37:45 206

原创 HDU 6299 Balanced Sequence 2018多校第一场

Problem DescriptionChiaki has n strings s1,s2,…,sn consisting of '(' and ')'. A string of this type is said to be balanced:+ if it is the empty string+ if A and B are balanced, AB is balanced,+ i...

2018-07-24 16:42:32 316

原创 Number Sequence HDU - 4390 容斥

题意:首先给出n个数, 然后你可以随机再找n个数, 但必须要让你找的这n个数的乘积等于给出的n个数的乘积, 然后问你可以找出这n个数的方案数并模1e9+7;思路:首先我们先把给出的n个数乘起来变成一个数, 再之后根据唯一分解定理我们可以把这个数分解成一些质数, 那么问题不就变成了把这些质数随机组合成n个数的方案数了么, 但要注意此题是有顺序关系的, 比如 4 6 和 6 4 这两个是两种方案;我们...

2018-06-09 11:42:19 109

原创 Innumerable Ancestors HDU - 6031 (LCA + 性质二分)

原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=6031题意:给一个n个节点的树, 并且这棵树始终以1为根节点并定义树的任意节点的深度为这个节点到1的最短距离, 之后给出m个查询, 每个查询包含两个集合A, 和B, 每个集合里各自有相同或不同的k个数, 现在问从这两个集合中各取出一个点, 然后这两个点的LCA的深度最大为多少;思路:这个题真的让我深深的...

2018-04-10 21:39:51 230

原创 Edge to the Root ZOJ - 3949 (树形DP)

Given a tree with n vertices, we want to add an edge between vertex 1 and vertex x, so that the sum of d(1, v) for all vertices v in the tree is minimized, where d(u, v) is the minimum number of edges...

2018-04-10 19:57:28 214

原创 UVA11419 我是SAM (最小点覆盖)

题意:给一个r*c的矩阵,某些格子中可能有一些怪物,可以在一行或一列防止一枚大炮,大炮会扫光整行/列的怪,问最少需要多少炮?输出炮的位置思路:首先把每行看成x集合里的r个点,每列看成y集合里的c个点,然后就会发现对于每个目标的x,y值其实就可以抽象成了这个x点和这个y点通过目标连成了一条边,而同一行的x点是通用的,同一列的y点是通用的,这样不就变成了用最少的点使得所有的边至少有一端被覆盖了么, 最...

2018-03-16 00:24:04 320

原创 Connected Components? CodeForces - 920E

题意:给出一个图, 然后求这个图的补图的连通块的数量, 节点数最大200000, 边数最大200000;思路:很有意思的一个题, 这个题一看觉得很简单, 但仔细想想貌似无从下手。。。。节点数和边数太大了。正常的想法就是求原图然后直接求连通块, 但是这样从节点数和边数上是过不去的。 这时就要想到要能一边遍历 一边把用过的点或边删掉不就好了, 这样下一次在遍历的时候遍历的点不就少了么。 怎么做到呢? ...

2018-02-10 10:27:25 214

原创 Distinct Substrings SGU - 510

题意:给出一个n, 然后让你找到一个只包含小写字母的字符串, 并且使得这个字符串的字串正好有n个, 如果这样的字符串有多个的话, 找到字典序最小的那个输出;思路:哇, 这个题是真的骚。。。以为是找规律。。整整三页纸的规律毛都没找到。。。然而旁边的ygay已经在爆搜了。。。后来看了看红书才知道是爆搜。。。佩服ygay的爆搜。。。。。知道爆搜之后就好做了。直接枚举所有情况。。爆搜剪枝的条件就是当前的串...

2018-02-09 10:36:14 180

原创 uva 12264 (Risk) 二分 + 最大流

题意: 首先有n个点, 然后每个点都一个权值ai表示这个点上的士兵数量,如果ai为0则表示这个点是敌人的, 如果大于零则表示这个点是自己的并且有ai个士兵, 现在你只有一次机会可以移动所有的士兵, 注意 每个士兵只能移动一次, 并且只有两种选择, 要么不动, 要么移动到相邻的一个单位处的的自己的点上, 并且自己的点在移动完之后至少要存在一名士兵。 另外再输入一个n * n的字符矩阵, 如果s【i】

2018-02-06 11:37:04 448

原创 hdu5887 Herbs Gathering (挂着dp牌子的搜索)

题意:有一个人做事情,每件事情价值v,耗时t,在规定的时间内做总价值和最大的事情,求最大价值;感想(可以直接跳往下面的思路):这个题真的是恶心死我了,卡了我将近两天的时间,读完题想了想,背包,绝对是背包,等等。。数据量怎么到1e9了,又想了想。有了!直接离散化,然后去重,然后用这个来进行dp,一共也就三个循环1e6可以过!好!做!,一天过去了。。。为什么一直wa呢?难道我背包都不会写了么。。。

2018-01-30 22:19:16 467

原创 CodeForces - 672D Robin Hood (思维二分)

题意城里有 n 户人家,每户人家有 mi 个金币。robin 每天从最富的人家偷一个金币送给最穷的一户人家。问 k 天后最富的一户人家比最穷的一户人家多多少金币。思路首先要想明白一个问题,金币只是进行交换用的,所以金币的总数是不变的,然后我们考虑一下最终的状态,最富的人一定是一个固定的金币数,最穷的呢,也是一个固定的金币数,那么我们把从最开始最富的人的金币数记录下来,一

2018-01-27 11:29:11 262

原创 Boke and Tsukkomi HDU - 4687

A new season of Touhou M-1 Grand Prix is approaching. Girls in Gensokyo cannot wait for participating it. Before the registration, they have to decide which combination they are going to compete as. E

2017-11-20 11:00:46 320

原创 Terrorists UVALive - 7302

题目大意:给一张n个点,m条边的无向图。共有q个询问,每次询问u到v的最短路。   n 思路:注意到边的的数量,n和m非常接近,所以可以近似于一棵树,这样,我们先抛出一棵最小生成树出来,然后之后这样肯定会有多出来的边,然后我们把多出来的边的端点都存下来,这样就出来了一些除了树上的点之外的点,这样我们再把这些点跑一边dij,这样之后我们对于查询u,v时

2017-11-15 13:34:49 185

原创 It's not a Bug, it's a Feature! UVA - 658

题意某个软件有n个漏洞m的补丁,而每个补丁修复漏洞有前提条件,即有些漏洞必须存在或不存在,每个补丁的修复时间各不相同,现在有n个漏洞,让你求出把这n个漏洞全部修复所花的最少时间。思路:因为字符串的长度关系,直接用二进制表示状态的转移然后跑一边最短路就好了;#include#include#include#include#includeusi

2017-11-15 13:28:48 261

原创 Prime Set ZOJ - 3988

Given an array of  integers , we say a set  is a prime set of the given array, if  and  is prime.BaoBao has just found an array of  integers  in his pocket. He would like to select at most  

2017-11-15 13:23:39 359

原创 2017 ACM 区域赛青岛站(现场赛) K Our Journey of Xian Ends

Life is a journey, and the road we travel has twists and turns, which sometimes lead us to unexpected places and unexpected people. Now our journey of Xian ends. To be carefully considered are the f

2017-11-13 09:11:41 1175 3

原创 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 G. Xor

There is a tree with nn nodes. For each node, there is an integer value a_ia​i​​, (1 \le a_i \le 1,000,000,0001≤a​i​​≤1,000,000,000 for 1 \le i \le n1≤i≤n). There is qq queries which are d

2017-11-12 00:43:51 451

原创 矩阵快速幂+倍增法(纯模板)

Mat power(Mat M,int P){ Mat tot(1); while (P){ if (P&1) tot=tot*M; P>>=1,M=M*M; } return tot;}Mat count(Mat M,int P){ Mat M0,E(1),M1=E; while (P){

2017-07-27 23:44:06 349

原创 hdu 4081 Qin Shi Huang's National Road System

During the Warring States Period of ancient China(476 BC to 221 BC), there were seven kingdoms in China ---- they were Qi, Chu, Yan, Han, Zhao, Wei and Qin. Ying Zheng was the king of the kingdom Qin.

2017-07-26 23:52:11 275

原创 二分图匹配 板子(匈牙利&HK)

仅仅是板子。HK:#include#include#include#include#includeusing namespace std;#define INF 1<<30;const int maxed=1000+10;bool used[maxed];int n,m,ma[maxed],mb[maxed],Ma[maxed],Mb[maxed],dis;vect

2017-07-18 12:13:18 349

原创 Queue CodeForces - 141C (思维脑洞题)

C. Queuetime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputIn the Main Berland Bank n people stand in a queue

2017-07-07 16:04:05 350

原创 Codeforces Round #419 (Div. 2) B. Karen and Coffee 预处理+技巧

. Karen and Coffeetime limit per test2.5 secondsmemory limit per test512 megabytesinputstandard inputoutputstandard outputTo stay woke and attentive during clas

2017-06-18 10:00:14 474

原创 哈理工训练赛 青蛙过河 dp

题目:在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧。在桥上有一些石子,青蛙很讨厌踩在这些石子上。由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数轴上的一串整点:0,1,……,L(其中L是桥的长度)。坐标为0的点表示桥的起点,坐标为L的点表示桥的终点。青蛙从桥的起点开始,不停的向终点方向跳跃。一次跳跃的距离是s到t之间的任意正整数(包括s,

2017-06-17 01:12:05 336

原创 UVA 1600 Patrol Robot bfs

题意:给出一个网格,这个网格中有一些障碍,求从左上角右下角的最短距离,且不能连续穿过K个障碍。分析:求最短路径嘛,首先想到的肯定会是bfs,那怎么判断连续K个障碍呢?因为是连续的嘛,所以如果下一个要搜的点不是障碍,那么它的k就是0了,然后因为要考虑障碍点了,所以不能简单地只记录已经扫过的点了,还要排除k值得影响,所以我这里加了一个K的数组来表示当前点的k值大小,如果要搜的点的k值比记录的小那么

2017-06-16 16:14:21 276

原创 POJ 3069 简单的贪心

题意:给出一些点和这些点能延伸的距离,标记最少的点使得所有的点都可以被标记到(一个点能左右延伸到另一个点,则另一个点视为被标记)。分析:走弯路了。。。直接贪心用循环从最做边开始走就行了。。。结果。。我一开始不知怎么着想错了。。。用的二分查找加减之后的最大值。。。。结果一直时间超限。。看了书之后突然意识到。。直接循环就行啊。这样也就从最左边到最右边。时间复杂度仅仅是o(n)。AC代码:#

2017-06-15 16:13:53 328

原创 POJ 3255 次短路问题+Dijkstra最短路优化问题

这个题真的是卡了我一天之久。。。倒并不是说它难。有一个地方一直没注意到结果一直wa。。。恶心的我都差点放弃了。。。好在最后改出来。。。这题懂得方法之后并不难。。就只是一个简单地Dijkstra求最短路问题。题意:给出一些点和一些路径,让你找到倒数第二条最短路径。分析:要是找到最短路径就好办了,直接无脑套用bellman-Ford或者Dijkstra就可以了,但题目让求次最短路径。想一想。次

2017-06-14 20:38:07 351

原创 uva 1625 Color Length (dp)

题意:有两个字符串,从两个字符串中取字符组成一个新串,并规定跨度L(c)表示该字符在新串中最大位置和最小位置的差,最终求所有L(c)的和;解:这个题的思路好想,就是用dp[i][j]来表示当前已经从第一个中取了i个从第二个中取了j个字符后的最小跨度,但麻烦的就是怎么实现这个状态,每次都重新算一遍每个的跨度时间肯定承受不了,所以有个简便的方法就是求当前已经有多少字符已经被取了但是最后一个该字符还

2017-06-04 11:24:54 267

转载 c++ BigInteger模板 非常好的板子

转一手非常好的BigInteger板子,虽然我也没太看懂,但经过无脑套用,还是很好用的。#include #include #include using namespace std; struct BigInteger{ int A[25]; enum{MOD = 10000}; BigInteger(){memset(A, 0,

2017-05-18 16:25:20 759

原创 OpenJ_POJ C16D Extracurricular Sports(找规律,大整数)

这个题题目大意不难懂,就是找到一堆数,使得这些个数得和等于这些个数的最小公倍数。分析:这就是一个存粹得找规律题,找到规律之后再套上一个大整数得模板完美解决。但是这个规律是真的卡到我了。。。。但是找到之后才发现原来这个规律很简单:首先不难发现,只有两个数得时候会输出-1,n=3时可以找到1,2,3,n=4时可以找到1,2,6,9,n=5时可以找到1,2,6,18,27.。。。。之后可以继续找下去

2017-05-18 15:23:55 413

原创 uva 116 Unidirectional TSP(dp-递归版)

拿到这个题,首先这个求最小和非常的简单,麻烦的是要求出最短路径。这个真的是卡了我一阵子。本来紫书上是有解答代码的,但我想用递归去实现,所以一直也就没看书上的代码。从网上搜了搜呢,也都是书上的做法,没有创意。但好在最终终于是想到了递归的实现方式:首先求和很简单的dp思想,路径只要在求和的基础上简单的加一个数组来表示对于这个最一个最小行来说,下一个最小行是多少就行了。直接上代码会很容易理解

2017-05-17 22:47:43 325

原创 uva307 dfs

把博客当作一个记录代码的地方吧。这个题想一想还真的挺不错的,能提高对回溯法的理解。题意不难理解,一堆切开的小木棒,然后把这些小木棒合起来,找到这些合起来的小木棒的最小长度,最关键的一点这些小木棒合起来的长度都是一样的。我开始的思路试枚举多少根小木棒,然后通过总的除以根数就得到了小木棒的长度,然后一一去判断,结果写着写着怎么也不会写了,就从网上借鉴了大神们的代码。思路:直接枚举长度,然后通过递归

2017-04-09 11:35:04 276

原创 uva12113 暴力枚举+回溯递归

第一个博客,就献给这道题吧。这道题其实思路不难,但也是搞了我一些时间,题意不难懂,就是给出一个4*4的棋盘,然后用2*2的纸去填充,并且最多用6张。首先突破口肯定在这个6上,纸的数量不多,再通过仔细观察后发现,纸摆放的位置只有9种情况,那现在思路已经很明确了:1、输进去数据2、一一枚举每张纸的每一个位置的情况3、回溯查找4、格式输出,收工。不多说,直接上代码。#includ

2017-04-08 12:09:37 1254

空空如也

空空如也

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

TA关注的人

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