自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 HDU - 5025 Saving Tang Monk

题意:拿钥匙,救唐僧,必须全部拿完才行,然后就是 他那第n把钥匙的时候必须n-1全配齐把才可以,然后#不能走,S是蛇,第一次见到要打一次,.可以走,问你最短距离是多少,思路:就是状压蛇的状态,然后标记一下钥匙就好了,,,其中有个小bug我找了一天,,结果晚上了找了工作室的各种学校 ,改了一晚上 终于特么找到了 - - 真是菜 。。。#include #include #include #

2017-10-26 23:33:01 298

原创 bzoj 1821: [JSOI2010]Group 部落划分 Group(并查集)

点击打开链接中文题意开心思路:把题面上的问题抽象一下就能得到就是,在部落里的人的距离都是0,部落的距离定义为两个部落中距离最近的点的距离,那他让最近的部落的距离最远,那我们初始使让每一个人都是一个部落,然后按距离排序,距离近的我们让他们在一个部落里,直到划分成为k个部落的时候就停止,那么这个距离就是我们要的距离#include #include #include #i

2017-10-26 09:20:57 264

原创 hdu 4825 (01字典树裸题)

题意:有n个数m个查找,每个查找有一个数x, 从序列中找到一个数y,使得x异或y最大,输出y;思路:就是二进制建立 一个01字典树,然后每次输入你个p就在字典树上从高位跑,如果当前为是0就在字典树里面找1,如果当前数是1就在字典树里找0就好了,#include <stdio.h>#include <math.h>#include <string.h&gt...

2017-10-25 19:22:05 243

原创 hdu 6186 CS Course (前后缀求区间问题)

题意:  给你一组序列,然后给你一个查询p,让你查询出这组序列除了a[p]之外的 |,&,^的值是多少?思路: 区间除了p以外的话吗,我们可以维护一个前后缀就好了,然后每次p的时候 ,就让a[p-1] 和 a[p+1] 进行操作就好了,(这么裸,我特么竟然还在找规律,,,真是菜)上代码吧:#include #include #include #define mes(a) mems

2017-10-25 14:53:24 263

原创 hdu 5726 GCD (区间RMQ )

题意:  给你n个数和m个查询,输出区间的gcd的值,和问你还有几个区间的gcd值等于你查询的gcd的值。思路:和上体一样,首先区间GCD是一个单调递减的区间,我们就可以直接 维护一个区间GCD的值,之后枚举左端点二分去找我们与区间GCD值相同的区间,就好了看代码吧#include #include #include #include #include const int max

2017-10-25 14:41:26 194

原创 HDU - 5875 Function (区间取模 RMQ)

题意:给你n个数和m个查询,然后问你从查询的左端点到右端点依次取模得到的值是多少?思路: 根据取模的性质,我们可以知道有些数是不用取模的,那么我们主要做的就是如和找到比当前数小的第一个数的位置在哪了,我在网上看到的代码有 就是预处理出比他小的当前的第一个数,时间复杂度大概是 n方,,但是可以过。,这题的正解应该是RMQ预处理出区间最小值,之后二分区间找到第一个比他大的数,时间复杂度是 n*

2017-10-25 07:54:34 334

原创 HDU - 5873 Football Games (水)

题意: 有n支队伍,他们两两互相比赛一场,赢一场得两分,输一场得0分,平一场 得各得一分。思路 : 这题数据水的一p,,,随便水水都能过。。首先,比赛一场总分是两分,所以总分一定是 n*(n-1),之后 最高分不能超过 2*(n-1)因为有且只有一个队伍每场都赢,所以最高分不可能超过,然后 ,,然后就水过去了,,这个思路是肯定是尼玛错的啊,,,比如说  0 0 6 6 ,就可以。。说一下正

2017-10-24 09:53:20 215

原创 HDU - 5876 Sparse Graph (补图的最短路)

题意 : 就是给你一个图求他补图的最短路是多少。思路: 首先他的点很多,但是边很少,我们不可能根据这个图去构建他的补图,因为点有20w不管怎样都不合适,那我们就要换一个思路了,就是我们用两个set,第一个set维护一个当前点不能到达的所有点,第二个set表示的是当前点可以到达的所有点,那么我们每次看,如果当前点可以到达的点在第一个set里面我们就吧这个点抹去,把他加入到第二个set里面(点

2017-10-24 08:53:42 307

原创 133 - The Dole Queue (垃圾水题)

题意:就是一个约瑟夫环问题,有n个人,逆时针排列,A开始从1逆时针走到第k个人,这个人退出,B开始从n顺时针走到第m步,这个人退出,问每次选的人是多少。思路: 纯模拟,他又一些小细节在里面,就是 A选人要从0开始,B要从n+1 开始选,而且他们是同时进行的 ,同时进行的,,,就是这个东西我卡了一晚上加一上午时间,,,上代码:#include #include #include u

2017-10-22 10:03:31 277

原创 [Vijos 2024]无向图最短路径 (最短路)

https://vijos.org/p/2024题意: 给你图中每两个点的最短路,问你可不可以增加一条边的权值,使最小值不受影响,让这个最大值最大。思路:一个图已经给定了,怎样才能增加一个边的权值使他最小值不受影响呢,应该可以想到就是当一个点可以被松弛的时候 我们可以吧边权增加到无限大,但是已经使最短路了,怎么能松弛呢? 那就是相等时候啊 ,那就是:if(a[i][j]==a[

2017-10-20 19:57:13 2020

原创 Periodic Strings UVA - 455 (水 kmp)

https://vjudge.net/contest/192890#problem/B题意: 问你循环节长度。思路:还是nex数组的简单应用,首先要是有循环节的话就直接输出len-nex[len],没有就输出len 水题(天天也就能刷刷水题了  T _ T)..上代码吧:#include #include char ch[1000];int nex[1000];void p

2017-10-19 20:05:56 262

原创 Building for UN UVA - 1605 (中途相遇法)

题意:有n个国家,要求你设计一栋楼并为这n个国家划分房间,要求国家的房间必须连通,且每两个国家之间必须有一间房间是相邻的思路: 中途相遇法,感觉这个东西我还没有完全吃透,,,只需要设计两层就可以了,每个国家占第一层的每一行,占第二层的每一列,这样的话就既满足联通又相邻了。#include char ch[60] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefg

2017-10-19 09:31:24 296

原创 HDU - 3374 String Problem (最大最小值表示法+kmp)

https://vjudge.net/contest/189927#problem/M题意:字符串的第一个会变到最后一个,之后有一个顺序,第一次变化是第一名,第二次变化是第二名,然后问你字典序最小和字典序最大的串在第几名,它出现的次数是多少思路:出现的次数好算,因为一个串出现的次数就是len/(len-nex[len])吗,现在就是看他是第几位比较难,其实也不难就是看一个字符在字符

2017-10-19 07:57:52 241

原创 HDU - 3746 Cyclic Nacklace (kmp循环节)

https://vjudge.net/contest/189927#problem/L题意: 就是问你最少添几个字母让这个串变成一个一个循环节。思路:len是最长的公共先后缀,nex[len]是除了他本身之外的最长前后缀,那么len-nex[len]就是循环节,知道循环节长度了,那么添几个让他补全循环节就好了,代码写的巨丑,根本不知道自己为什么这样写。。19大也不让交题。。就先这样

2017-10-19 07:39:24 252

原创 HDU - 4763 Theme Section(暴力kmp)

https://vjudge.net/contest/189927#problem/J题意:找到EAEBE类型的最长的E的串,也就是说前缀和后缀相同,然后这个串在中间也出现过,其中A和B的长度可以为0。思路:根据nex数组,我们可以找到最长的在前后缀的E,那么中间那个E怎么去判断的呢,暴力去找,,就好了,数据水的一p,瞎写的都能过 - -,等会再改改把上代码把:#include

2017-10-18 23:30:48 210

原创 POJ - 3450Corporate Identity(暴力kmp)

https://vjudge.net/contest/189927#problem/F题意:几个串,问你这几个串中的所有字串的最长公共长度。思路: 暴力枚举第一个字串的所有子串然后和后面的所有串暴力匹配,复杂度??不存在的,比较坑的点是要字典序最小。上代码把:#include #include #include #include using namespace st

2017-10-18 23:26:06 195

原创 POJ - 1961 Period(nex数组的运用)

https://vjudge.net/contest/189927#problem/E题意: 给定一个字符串,问这个字符串的所有前缀中,有哪些前缀可以由某个串重复k次组成,并且这个k最大是多少。这个k需要大于1。思路:就是你遍历到 第i个点的时候,看是否i-nex[i]|i就好了上代码把#include #include char ch[1999999];int ne

2017-10-18 23:20:48 181

原创 POJ - 2406 Power Strings (nex数组循环节)

https://cn.vjudge.net/contest/189927#problem/D题意: 就是问你字符串的最小循环然后输出最大的循环次数。思路: 同样也是nex数组的应用,我们都知道当一个串是循环串的话,此时我们设这个串长度为s,循环节长度为k,那么根据nex数组的定义我们知道除了他本身,最长的公共前后缀就是nex[len],他的长度是s-k,为什么,因为最长前后

2017-10-18 20:48:44 151

原创 POJ - 2752 Seek the Name, Seek the Fame (next 数组的应用)

https://cn.vjudge.net/contest/189927#problem/C题意:就是问你前后缀相等的长度,从小到大去输出。思路:nex数组里面存的就是当前的相等的前后缀长度,最长的相等前后缀就是他自己,之后的想澄清前后缀就是nex[len],之后一直输出直到nex[len]为0 就好了上代码:#include #include #include using

2017-10-18 20:44:56 123

原创 codeforces Round House(在环上走的步数最终停到哪里)

http://codeforces.com/problemset/problem/659/A题意: 就是一个环上有n个点,你从第k个点开始走,然后给你一个m如果是正数的话就顺时针走m步,如果是负数的话就逆时针走m步,问你最终会停到哪里思路:就是取模吗,对m取模,看他走完整圈后还剩几步,然后加上k就好了 ,注意加上k可能会超过n所以需要在取一次模,需要注意的是,如果取模等于0说明他当

2017-10-18 20:32:21 272

原创 codeforces Maximum splitting (一个数分割成合数的最大值)

http://codeforces.com/problemset/problem/872/C题意:给你一个数,他最多可以拆成几个合数的和思路: 我们知道最小的合数是4,那我们就直接对这个数取余4,如果能除尽就直接除4,因为4是最小单元吗,除4肯定是最多了,那么接下来就是如果有剩余的了,我们可以把这个问题转化成现在有n/4个框,每个框里4个水果,然后全部放满了还剩余下 1,2

2017-10-18 20:18:04 406

原创 codeforce Maximum of Maximums of Minimums(区间划分 求区间最小值最大值问题)

http://codeforces.com/problemset/problem/872/B题意: 给你n个数,和k,让你把这n个数(连续)划分成k个区间,每个区间都选择一个最小值,让后让你从最小值中的最大值最大。思路:当k等于1的时候,我们直接输出最小值就好,当k大于3的时候,我们直接输出一个最大值,因为k大于3的时候我们可以让最大值孤立起来,那么只需要讨论一下 当K等于

2017-10-18 20:02:28 1111

原创 codeforces Search for Pretty Integers(水)

http://codeforces.com/contest/870/problem/A题意:就是如果两个集合中有共同元素的话,就输出共同元素,如果没有共同元素的话就输出两个集合中的可以组成的最小的数。思路:桶排水题。比较坑的是,两个有共同元素的时候输出共同元素。当时因为这个原因worng了两发,心态巨崩,然后代码写的也很丑 了,,#include #include #inc

2017-10-18 19:49:34 345

原创 codeforces Divisiblity of Differences(求区间做差整除问题)

http://codeforces.com/contest/876/problem/B题意: 就是给你n个数,让你在这n个数中找到一个有k个元素的集合,在这个集合中,两两相减所得到的差是m的倍数。思路 :两数做差是m的倍数可以等价于两数取余m所得到的值相同,直接一个桶排就好了。上代码吧:#include #include #include #include

2017-10-18 19:36:29 206

原创 POJ - 3080 Blue Jeans (暴力kmp)

The Genographic Project is a research partnership between IBM and The National Geographic Society that is analyzing DNA from hundreds of thousands of contributors to map how the Earth was populated. 

2017-10-09 11:30:40 217

原创 POJ - 3461 Oulipo (kmp裸题)

The French author Georges Perec (1936–1982) once wrote a book, La disparition, without the letter 'e'. He was a member of the Oulipo group. A quote from the book:Tout avait Pair normal, mais tout

2017-10-08 11:03:38 191

原创 字典树 总结

近期一直再写 字典树 ,拉了一套题,今天才写完,总结一下吧 ,其实这是一个比较简单的数据结构吧。讲一下原理吧 ,这个字典树 ,就是将字符串的前缀放到一颗树上,有共同前缀的就在一个节点上 ,直接上图可能会比较容易去理解网上借用的一张图,写法 ,写法那也很简单了,就是首先会有一个总的根节点,之后开始建树,如果当前结点下面有这个点的节点,就接着往下走,如果没有就新建一个节点,之后一直往下

2017-10-07 10:40:03 331

空空如也

空空如也

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

TA关注的人

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