自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 bzoj 1269 [AHOI2006]文本编辑器editor 块状链表

题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1269题意:思路:块状链表或者平衡树。写这个题的总结:一定要及时合并,不然很可能RE。#include <bits/stdc++.h>using namespace std;const int N = 2000000 + 10, block_sz = 4000 + 100, block_num =

2017-08-02 14:19:14 716

原创 SCU 3035 反转序列 块状链表

题目:https://vjudge.net/problem/SCU-3035题意:Description一个长度为 n 的整数序列初始时从左到右为1,2,3,……,n,现在对这个序列进行 m 次操作,每次把 p 到 q 的子序列反转 求最后的序列Input输入包含多组测试数据,每组数据第一行为 n m (1 <= n,m <= 50000) 接下来 m 行,每行两个数,为 p q (1 <= p

2017-08-01 19:50:52 411

原创 bzoj 1507 Editor 块状链表

题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1507题意:思路:用块状链表写的,操作还是挺繁琐的。。。#include <bits/stdc++.h>using namespace std;const int N = 4000000 + 10, M = 3000+10;const int block_num = 3000 + 100;que

2017-08-01 17:17:51 285

原创 51nod 1062 && URAL 1079 Maximum RMQ

题目:https://vjudge.net/problem/URAL-1079题意:有这样一个序列aa:a0=0a_0 = 0a1=1a_1 = 1a2i=aia_{2i} = a_ia2i+1=ai+ai+1a_{2i+1} = a_i + a_i+1 输入一个数nn,求a[0]−a[n]a[0] - a[n]中最大的数。思路:先打表出所有的序列,然后rmq求解即可#include <

2017-08-01 09:54:40 241

原创 POJ 2887 Big String 块状链表

题目:http://poj.org/problem?id=2887题意:初始给定一个字符串,然后有两种操作:I ch pI\ ch\ p 在第pp个字符前插入字符chch;Q pQ\ p查询第pp个位置上的字符。下标均是从11开始思路:用的块状链表。块状链表的基本操作有定位、插入、分裂、合并和删除,各个操作均为O(n√)O(\sqrt{n})。这个题算是裸题了,留个模板#include <iostr

2017-08-01 09:14:38 288

原创 51nod 1413 权势二进制 思路题或者背包

题目:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1413题意:一个十进制整数被叫做权势二进制,当他的十进制表示的时候只由0或1组成。例如0,1,101,110011都是权势二进制而2,12,900不是。 当给定一个n的时候,计算一下最少要多少个权势二进制相加才能得到n。思路:先将一下我的思路,首先把所有的权势二进制求

2017-07-31 20:35:44 439

原创 51nod 1119 机器人走方格 V2 费马小定理求组合数

题目:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1119题意:M * N的方格,一个机器人从左上走到右下,只能向右或向下走。有多少种不同的走法?由于方法数量可能很大,只需要输出Mod 10^9 + 7的结果。 Input 第1行,2个数M,N,中间用空格隔开。(2 <= m,n <= 1000000) Outpu

2017-07-31 20:20:34 407

原创 51nod 1126 求递推序列的第N项 矩阵快速幂

题目:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1126题意:有一个序列是这样定义的:f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7. 给出A,B和N,求f(n)的值。 Input 输入3个数:A,B,N。数字之间用空格分割。(-100

2017-07-31 19:55:10 404

原创 51nod 1276 岛屿的数量 离线算法乱搞

题目:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1276题意:有N个岛连在一起形成了一个大的岛屿,如果海平面上升超过某些岛的高度时,则这个岛会被淹没。原本的大岛屿则会分为多个小岛屿,如果海平面一直上升,则所有岛都会被淹没在水下。 给出N个岛的高度。然后有Q个查询,每个查询给出一个海平面的高度H,问当海平面高度达到H时

2017-07-31 09:18:06 285

原创 51nod 1596 搬货物 思路题

题目:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1596题意:现在有n个货物,第i个货物的重量是 2wi 。每次搬的时候要求货物重量的总和是一个2的幂。问最少要搬几次能把所有的货物搬完。 样例解释: 1,1,2作为一组。 3,3作为一组。Input 单组测试数据。 第一行有一个整数n (1≤n≤10^6),表

2017-07-30 20:34:11 400

原创 51nod 1092 回文字符串 LCS 或 区间dp

题目:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1092题意:回文串是指aba、abba、cccbccc、aaaa这种左右对称的字符串。每个字符串都可以通过向中间添加一些字符,使之变为回文字符串。 例如:abbc 添加2个字符可以变为 acbbca,也可以添加3个变为 abbcbba。方案1只需要添加2个字符,是所有

2017-07-30 19:57:35 336

原创 ZOJ 2112 Dynamic Rankings 线段树套平衡树

题目:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2112题意:给出一个长度为n的整数数组,有以下两种操作: Q i j k意为求区间[i,j]内的第k小数,C i t意为把第i个数换成t思路:一直觉得树套树高大上,今天学着写了一波。。。建立一颗线段树,线段树中每个节点再对应一棵平衡树,用来维护节点所管辖的区间,用平衡树可

2017-07-29 17:39:51 483

原创 POJ 3461 Oulipo hash求匹配

题目:http://poj.org/problem?id=3461题意:给一个模式串,一个原串,问原串中有多少个模式串思路:kmp模板题,这里用hash算法#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;typedef long long ll;typ

2017-06-13 10:12:44 338

原创 POJ 2406 Power Strings hash求匹配

题目:http://poj.org/problem?id=2406题意:给出一个不超过1e6的字符串,求这个字符串最多有多少个周期。思路:其实就是求最小周期长度,然后用字符串总长度除以最小周期长度,就是答案。最最正宗的写法应该是kmp吧,这里用了hash算法,可以求出任意一段区间的hash值,枚举最小周期长度,然后用hash值判断之后的每个等长度区间是否一样#include <iostream>#

2017-06-13 10:03:19 576

原创 POJ 2104 K-th Number 整体二分

题目:http://poj.org/problem?id=2104题意:给定一个长度为n的序列,每次求出一个给定区间内的第k小数思路:之前用很多方法写这道题了,今天用整体二分写了一次#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <climits>using namespa

2017-06-08 20:11:22 342

原创 HDU 5412 CRB and Queries 整体二分

题目:http://acm.hdu.edu.cn/showproblem.php?pid=5412题意:给定一个长度为n的序列,有以下两种操作:1 x y k,求区间[x,y]中的第k小数,2 x y,把位置x的元素替换为y。思路:用的整体二分。谈一下自己对整体二分的理解(如有错误请谅解):整体二分总体来说是分治,然后用二分枚举一个值,在分治的时候用这个枚举值来划分左右子区间。像求第k小数,二分枚举

2017-06-08 20:01:06 323

原创 trie图模板

题目:http://hihocoder.com/problemset/problem/1036题意:给定多个模式串,问原串中有没有包含至少一个模式串思路:trie图应用,题目上有详细讲解,hiho一下第四周的题目,可以看大佬的代码#include<iostream>#include<cstdio>#include<cstring>#include <vector>#include <queu

2017-06-06 14:39:00 538

原创 UVA 12345 Dynamic len(set(a[L:R])) 分块或带修改莫队

题目:https://vjudge.net/problem/UVA-12345题意:给出一个有n个元素的数组,有以下两种操作:Q x y,求出区间[x,y)内不同元素的个数,M x y,把第x个元素的值修改为y。注意题目中的下标是从0开始的思路:我写了分块和带修改莫队两种做法。首先讲分块法,对于每个位置i,我们记录前一个相同元素的坐标,记为pre[i],然后分块,块内按pre数组排序,等到查询的时候

2017-06-06 11:57:19 1384

原创 洛谷P2801 教主的魔法 分块

题目:https://www.luogu.org/problem/show?pid=2801题意:题目描述教主最近学会了一种神奇的魔法,能够使人长高。于是他准备演示给XMYZ信息组每个英雄看。于是N个英雄们又一次聚集在了一起,这次他们排成了一列,被编号为1、2、……、N。每个人的身高一开始都是不超过1000的正整数。教主的魔法每次可以把闭区间[L, R](1≤L≤R≤N)内的英雄的身高全部加上一个整

2017-06-04 20:50:41 626

原创 ZOJ 2112 Dynamic Rankings 动态区间第k大 分块

题目:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2112题意:给出一个长度为n的整数数组,有以下两种操作: Q i j k意为求区间[i,j]内的第k小数,C i t意为把第i个数换成t思路:这道题有很多做法,主席树,平衡树,整体二分等等,这里用了分块,虽然效率比较挫,但是简单好写容易理解,高级数据结构经常忘。。。#in

2017-06-04 13:31:10 675

原创 hihoCoder 1014 Trie树 字典树模板

题目:http://hihocoder.com/problemset/problem/1014题意:首先给出一些字符串,代表字典里的单词。然后再给出一些字符串,询问字典中以当前字符串为前缀的单词个数思路:字典树模板题。留个模板 动态字典树,特点是好写好理解,确定是效率慢,有可能TLE//多实例记得调用trie_del函数清空字典树,单实例无所谓#include <bits/stdc++.h>u

2017-05-31 20:28:11 432

原创 非manacher算法的最长回文串算法

在hihoCoder上发现了比manacher更快的算法, 看上去很暴力,但跑起来蜜汁快,记录一下贴出来#include <bits/stdc++.h>using namespace std;const int N = 1000000 + 10;char str[N];int fast(char *str){ int ans = 0; str[0] = '?'; fo

2017-05-31 18:04:42 254

原创 HDU 1430 魔板 康托展开或字典树 + BFS

题目:http://acm.hdu.edu.cn/showproblem.php?pid=1430题意:Problem Description 在魔方风靡全球之后不久,Rubik先生发明了它的简化版——魔板。魔板由8个同样大小的方块组成,每个方块颜色均不相同,可用数字1-8分别表示。任一时刻魔板的状态可用方块的颜色序列表示:从魔板的左上角开始,按顺时针方向依次写下各方块的颜色代号,所得到的数字序列

2017-05-31 17:45:39 708

原创 康托展开模板

讲解看这里:http://blog.csdn.net/acdreamers/article/details/7982067 康托展开表示的是当前排列在n个不同元素的全排列中的名次,康托逆展开就是根据某个排列的在总的排列中的名次来确定这个排列。注意,这个模板中康托逆展开求出的排列是一个连续序列的排列#include <bits/stdc++.h>using namespace std;typede

2017-05-25 20:33:35 1693

原创 EOJ 3246 实验室传染病 线段树

题目:http://acm.ecnu.edu.cn/problem/3246/题意:ECNU 的 ACM 实验室患上了一种传染病,这种病的传染性极强,并且因为每个人的体质不同传染的范围也不同。为了简化这个问题,我们不妨假设有 n 个人站在一条水平线上,每个人有初始的位置和他患病时的传染范围。当一个人患病时,他的传染范围内(包括边界上)的人全部会被感染并继续向外传播。但是我们并不知道 ECNU 实验室

2017-05-24 20:10:51 388

原创 EOJ 3261 分词 dp+字典树

题目:http://acm.ecnu.edu.cn/problem/3261/题意:有一句句子因为粘贴的时候出现了一点问题空格全部丢失了。现在给一本字典,每个词都对应这个词出现的频率(每十亿)。根据这个频率,我们可以根据下面的公式算出这个词带来的收益 P(word):P(word)=len2(word)⋅ln(frequency(word)) 其中 frequency 就是上面所提到的频率。len

2017-05-24 17:19:38 500

原创 EOJ 3260 大学生程序设计邀请赛(华东师范大学)-C 袋鼠妈妈找孩子

题目http://acm.ecnu.edu.cn/problem/3260/题意袋鼠妈妈找不到她的孩子了。她的孩子被怪兽抓走了。袋鼠妈妈现在在地图的左上角,她的孩子在地图第 x 行第 y 列的位置。怪兽想和袋鼠妈妈玩一个游戏:他不想让袋鼠妈妈过快地找到她的孩子。袋鼠妈妈每秒钟可以向上下左右四个方向跳一格(如果没有墙阻拦的话),怪兽就要在一些格子中造墙,从而完成一个迷宫,使得袋鼠妈妈能够找到她的孩子,

2017-05-22 22:12:50 531

原创 EOJ 3247 大学生程序设计邀请赛(华东师范大学)-G 铁路修复计划

题目:http://acm.ecnu.edu.cn/problem/3247/题意:在 A 国有很多城际铁路。这些铁路都连接两个城市(城市从 1 到 n 编号),可以双向通行,使得任意两个城市之间都由铁路网联系起来。不过在一次星球大战之后,所有的铁路都经历了不同程度的损伤以至于无法通行了。由于经费紧缺,A 国政府不愿意再出资造新的铁路。对于原有的城际铁路,根据铁路的实际情况,有以下两种处理办法:使用

2017-05-22 21:57:15 704

原创 EOJ 3263 大学生程序设计邀请赛(华东师范大学)- F 丽娃河的狼人传说 贪心

题目:http://acm.ecnu.edu.cn/problem/3263/题意:丽娃河是华师大著名的风景线。但由于学校财政紧缺,丽娃河边的路灯年久失修,一到晚上就会出现走在河边要打着手电的情况,不仅非常不方便,而且影响安全:已经发生了大大小小的事故多起。方便起见,丽娃河可以看成是从 1 到 n 的一条数轴。为了美观,路灯只能安装在整数点上,每个整数点只能安装一盏路灯。经专业勘测,有 m 个区间特

2017-05-22 20:46:28 556

原创 POJ 3613 Cow Relays floyd+矩阵

题目:http://poj.org/problem?id=3613题意:一个无向图上有n个点,每条边都有权值,问从点s到点e的恰好经过t条边的最短路径是多少思路:利用矩阵快速幂的思想,再套用floyd算法,实际上就是做了t次floyd,利用快速幂加速。其中只有ans结构体对角线置0而其他结构对角线不置0的原因是考虑s和e相同时的情况。#include <iostream>#include <cst

2017-05-22 20:18:08 367

原创 POJ 3422 Kaka's Matrix Travels 费用流

题目:http://poj.org/problem?id=3422题意:有一个n*n的矩阵,矩阵中每个格子都有一个数字,代表当前格子的财富值,现在如下操作:从左上角开始出发,然后只能往下或者往右走,走到一个格子可以取走其中的财富值,直到走到右下角。现在可以如此操作k次,其中一个格子的财富值只能取一次,问操作k次后得到的最大财富值。思路:首先把格子中的值取反。把每个格子拆成两个点,设为i和i+N,那么

2017-05-22 19:57:04 265

原创 POJ 3680 Intervals 区间k覆盖 费用流

题目:http://poj.org/problem?id=3680题意:给定n个区间,类似于(a,b),每个区间有一个价值,现在可以取任意个区间,但每个区间只能取一次,又要求数轴上的每个实数点被选取不超过k次,求这些约束条件下可以得到的最大价值思路:首先对区间端点进行离散化,用离散后的端点进行建图。对于某个区间(a,b),建边a->b,容量为1,费用为此区间的价值,这样意味着每个区间只能被选一次。另

2017-05-22 19:24:44 741

原创 OpenJ_Bailian 2980 || POJ 2389 大整数乘法

题目:http://bailian.openjudge.cn/practice/2980?lang=en_US http://poj.org/problem?id=2389题意:求两个不超过200位的非负整数的积。Input 有两行,每行是一个不超过200位的非负整数,没有多余的前导0。 Output 一行,即相乘后的结果。结果里不能有多余的前导0,即如果结果是342,那么就不能输出为034

2017-05-13 14:28:07 594

原创 POJ 1001 Exponentiation 大浮点数乘法

题目:http://poj.org/problem?id=1001题意:给出一个浮点数,一个n,求这个浮点数的n次方,输出要求去掉多余的0,小数位为0的只输出整数,小数位不为0且整数位为0的,去掉整数位。思路:模拟大整数乘法,注意上述的格式即可#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>u

2017-05-13 14:25:29 445

原创 POJ 1417 True Liars 带权并查集+DP

题目:http://poj.org/problem?id=1417题意:有两种人:好人和坏人,其中好人说的话一定是真的,坏人说的话一定是假的。现在知道好人和坏人的具体个数,又提问了n个问题:x y yes|no,问第x个人,第y个人是好人还是坏人,回答yes或者no。问根据以上能不能判断出哪些人是好人,题目保证不会有矛盾的问答思路:可以根据问答把所有人分类,每类又分成两小类:相互矛盾的两小类,相互矛

2017-05-11 20:49:06 567

原创 POJ 1733 Parity game 带权并查集

题目:http://poj.org/problem?id=1733题意:一个长度为n的序列,只有0和1组成。现在每次给出一个区间[l,r],并给出区间中1的个数是偶数个还是奇数个,问前多少个是正确的(从第1个开始连续且正确的个数)思路:对于给定的一个区间[l,r],如果区间中1的个数为偶数,那么可以发现[0,l-1]和[0,r]中1的个数是同偶或同奇的;如果区间中1的个数为奇数,可以发现[0,l-1

2017-05-11 20:22:38 270

原创 POJ 1988 Cube Stacking || HDU 2818 Building Block 带权并查集

题目:http://poj.org/problem?id=1988题意:有n个箱子,标号为1~n,初始时分成n堆,每堆一个按顺序。现在有p个操作,操作分两种: - M x y:把x所在的那一堆放到y所在的那一堆上 - C x:查询x下面有多少个箱子 poj和hdu不同的一点是:hdu可能出现x y在同一堆的情况思路:定义rnk[x]为x到父节点的距离,num[x]为以x为祖先的所有点的个数。执

2017-05-06 20:26:34 344

原创 POJ 1182 食物链 带权并查集或种类并查集

题目:http://poj.org/problem?id=1182题意:Description动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B, B吃C,C吃A。 现有N个动物,以1-N编号。每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种。 有人用两种说法对这N个动物所构成的食物链关系进行描述: 第一种说法是”1 X Y”,表示X和Y是同类。

2017-05-05 21:00:48 406

原创 URAL 1004 Sightseeing Trip 无向图最小环

题目:https://vjudge.net/problem/14074题意:给定一个有n个点的无向图,有m条无向边,求图中一个至少包含三个点的环,并输出环上的点,有多解任意输出一个即可,没有这样的环则输出No solution.思路:可以用floyd算法求解最小环,然后记录路径输出即可。 关于记录路径:定义pro[i][j]为点i到点j路径上的倒数第二个点,倒数第一个自然是j,初始化pro[i][

2017-05-04 21:20:26 425

原创 河南省第四届acm省赛 C:表达式求值 逆波兰表达式

题目:https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=1457题意:DescriptionDr.Kong设计的机器人卡多掌握了加减法运算以后,最近又学会了一些简单的函数求值,比如,它知道函数min(20,23)的值是20 ,add(10,98) 的值是108等等。经过训练,Dr.Kong设计的机器人卡多甚至会计算一种嵌套的更复杂的表达式。 假设表达

2017-05-03 19:03:38 354

空空如也

空空如也

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

TA关注的人

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