自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【橘色小分队】snow的笔记@

Make Good 变棒棒题意:有个序列,你可以添加最多三个数,使序列的和为异或和的两倍。思路:先求出来异或和xor,和sum。然后添加的第一个数是xor,这样和变成了sum+xor,异或和变成了0;添加的第二个数是sum+xor,这样异或和变成了sum+xor,和变成了2*(sum+xor)。Strange Device 奇怪的设备题意:你有一个设备,它能告诉你你输入的下标对应的序列中...

2020-01-15 15:46:36 164

原创 【合集】线性基的几个题//待填坑

//由于懒惰忙碌,就都只写下思路啦。。由于没有经过实践的检验,很可能会有大量错误。。P4151 [WC2011]最大XOR和路径给定一个无向连通图,求从1~Nd的最大异或路径。 由于是无向图,所以一条边可以走多次,走两次的话其实它就不会对异或和做出贡献了。于是我们把图中所有的环的路径异或和扔进线性基,再任意找一条 1~N的连,不断用环增广(//像求数组最大异或和一样),就好啦!...

2019-10-07 10:17:40 130

原创 【洛谷P3373 线段树2】乘法加法模板线段树

https://www.luogu.org/problem/P3373这个模板题可真是有点意思。。。重点在lazytag上,加#include<iostream>#include<cstdio>#define MAXN 1000001#define ll long longusing namespace std;unsigned ll n,m,P,a[MAX...

2019-10-07 10:01:25 236

原创 【poj2019 Cornfields】RMQ入门

http://poj.org/problem?id=2019 你懂的题意:给出一个矩阵,输出询问的子矩阵中最大值与最小值的差。当然是直接RMQ啦!但是对于萌新来说,二维RMQ还是有点懵懵的,QAQ。。。既然二维的RMQ有点懵懵的,那就先从一维RMQ开始吧!一维RMQ基于倍增的思想,我们就可以很暴力地搞出一维RMQ的模板!(照着kuangbindalao的打的,还没有验证。。但应该...

2019-08-14 11:04:56 276 1

原创 【HDU3473 Minimum Sum】划分树+中位数性质

题意给定一个序列,有q组询问,询问l~r中最小的值。(x可以任选)思路首先,给定一个从小到大的数列x1,x2,……,xn,设x是从x1到xn与其绝对差之和最小的数,则显然x位于x1与xn之间。那么,由于x1,xn与它们之间的任意一点的距离之和都相等,且都等于xn-x1,因此接下来可以不考虑x1与xn,而考虑剩下的从x2到x[n-1]的数,同样显然有x必然位于x2和x[n-1]之间。...

2019-08-13 19:28:40 93

原创 【HDU6635 Nonsense Time】树状数组维护最长上升子序列

题目大意在一个数列ai里依次激活某个位置,求每次激活后的最长上升子序列(LIS)。思路可以倒着找。先找出全部数列的LIS,然后倒着令数列逐位失活,如果失活的那一位在LIS里,就重新找一遍LIS,否则就LIS长度不变。现在问题就是,怎么找LIS。以前都是用dp的,这次用树状数组,居然也挺好用的。树状数组每个结点在变成树状之前,都表示以那个数字结尾的LIS。树状数组维护前缀最大值。每次...

2019-08-08 10:37:43 220

原创 【HDU6638 Snowy Smile】最大子矩阵线段树维护

传送门题意给一个非常稀疏的矩阵,求它的最大子矩阵。思路首先将纵坐标离散化,然后枚举横坐标的上下限。将所有点按照横坐标排序,枚举矩形的上边界,建空树,用线段树维护纵向的最大子段和。对于每个上边界,逐行加入点,每加入一行就相当于是有了下边界,此时线段树维护的最大子段和即为可能的答案。所有可能的答案还有0求最大值,就是答案啦。题解#include<cstdio>#incl...

2019-08-07 20:01:29 186

原创 【HDU6639 Faraway】绝对值暴力余数

传送门题意给n个式子的xi,yi,ki,ti,求满足这n个式子的解{x,y}的个数。解的范围为0~m。式子形如:(∣xi−x∣+∣yi−y∣)modki=ti.(|x_i−x|+|y_i−y|)mod k_i=t_i.(∣xi​−x∣+∣yi​−y∣)modki​=ti​.n&lt;=10,2&lt;=ki&lt;=5n&lt;=10,2&lt;...

2019-08-07 19:04:27 440

原创 【51Nod1463 找朋友】线段树+简单离线

给定:两个长度为n的数列A 、B一个有m个元素的集合K询问Q次每次询问[l,r],输出区间内满足|Bi-Bj|∈K 的最大Ai+Aj数据约定:n,Q<=100000m <= 100<=A[i]<=10000000001<=B[i]<=n1<=K[i]<=n保证B[i]互不相等线段树萌新看到这题就懵了……果然还是不行啊qu...

2019-08-03 20:19:10 139

原创 【51Nod1199 Money out of Thin Air】线段树+一点点树剖

传送门!一棵有N个节点的树,每个节点对应1个编号及1个权值,有2种不同的操作。操作1:S x y z,表示如果编号为x的节点的权值 < y,则将节点x的权值加上z。(Single)操作2:A x y z,表示如果编号为x的节点以及其所有子节点的权值平均值 < y,则将节点x及其所有子节点的权值加上z。(All)给出树节点之间的关系,进行M次操作,问所有操作完成后,各个节点的权...

2019-08-03 10:35:27 122

原创 【HDU6621 K-th Closest Distance】主席树+二分答案

题意给定一个数列,有若干询问,询问 l~r 区间内,距离p第k远的元素与p的距离。每次询问内容都要与上次询问的答案按位异或,初始答案为0。#include <stdio.h>#include <string.h>#include <iostream>#include <algorithm>#include <vector>...

2019-08-02 10:34:51 219

原创 【HDU6623 Minimal Power of Prime】不一定要分解

注意到n是101810^{18}1018,直接质因数分解肯定会炸的。可以先小范围进行质因数分解。题解说是分解至n1/5n^{1/5}n1/5。设分解之后n余下m,若m!=1,只需再判断m可不可以分解为ppp、p2p^2p2、p3p^3p3、p4p^4p4、p5p^5p5。题外话预警感觉应该认真反思反思了。。。很多问题都没有静下心来认真想,认真分析可行性、复杂度,一味乱改,企图...

2019-07-31 19:08:24 119

原创 【HDU6609 Find the answer】线段树||树状数组维护前缀和

传送门官方题解是这么说的:  对于第i个位置,怎样选择数字才会使满足条件情况下选择数字数目最少呢?很容易想到,需要选择前i1个数中较大的数字,使其变为0。  基于这个思想,如果我们对于每个位置i都暴力去找最大的前几个数,显然会TLE!  可以注意到,题目可以转化为前i-1个数中最多选出多少个数字和W[i]相加使得其和小于等于m(很容易想到,选择较小的数才会使选的数最多)。转化之后就很容...

2019-07-30 10:04:57 225 1

原创 【HDU6608 Fansblog】求很大很大的数的阶乘

FansblogDescriptionFarmer John keeps a website called ‘FansBlog’ .Everyday , there are many people visited this blog.One day, he find the visits has reached P , which is a prime number.He thinks it...

2019-07-30 09:47:33 123

原创 2019summer系列 第13场【Codeforces1130】

http://codeforces.com/contest/1130A Be Positive非常水非常签到~#include<bits/stdc++.h>#define ll long longusing namespace std;int cnp,cnn,n,x;int main(){ scanf("%d",&n); for(int i = 0;i &l...

2019-07-28 15:49:00 100

原创 【hihocoder 1723 子树统计】线性基

先说一下自己对线性基及其求法的理解(有误的话请dalao指出鸭OrZ)线性基,是线代里的那个东西吗?是也不是,这里的线性基特指在异或运算下的基~怎么求出来一个线性基呢?先把线性基的集合设为空集,然后逐个加入元素。如果待加入元素可以被集合中已有元素通过异或得出,则不加入,否则加入。那么,如何判断待加入元素可不可以被集合中已有元素异或得出呢? 传说中的高斯消元法! 我们可以维护一个对角...

2019-07-27 21:15:13 154 3

原创 2019summer系列 第12场

A 小数数字给定一个真分数P/Q(P < Q),请你求出它的小数部分都包括0~9中的哪些数字。例如1/2=0.5,只包含数字5;1/3=0.33333……,只包含数字3,1/7=0.142857142857……,包含数字124578。Input两个整数P和Q,1 ≤ P < Q ≤ 1000000Output从小到大输出小数部分出现的所有数字Sample Input...

2019-07-27 19:07:00 107

原创 【SPOJ 1811 LCS】最长公共子串:(黑箱操作)后缀自动机

SPOJ LCS题目大意:给定两个字符串,求他们的最长公共字串。由于本蒟根本不懂后缀自动机,所以借着kuangbin dalao的代码,认真理解了如何初步黑箱操作后缀自动机~首先,你需要获得dalao的后缀自动机板子~#include<bits/stdc++.h> #define ll long longusing namespace std;const int CH...

2019-07-25 20:04:06 156

原创 【ZOJ 2112 Dynamic Rankings】动态区间第k大:树状数组+主席树

思路纯属个人YY,如有错误请各位dalao不吝赐教。Orz萌新第一次接触这么阔怕的东西,瑟瑟发抖啊嘤嘤嘤。。。ZOJ 2112 Dynamic Rankings题目大意就是,求区间第k大,支持单点修改。其中,每个元素a[i]的范围…1,000,000,0001,000,000,0001,000,000,000首先,区间第k大,那肯定是要用传说中的主席树了。(刚刚接触主席树的萌新持续瑟瑟...

2019-07-25 13:21:25 306 2

原创 2019summer系列 第十场

https://vjudge.net/contest/312518#overview请叫我掉分小王子,嘿嘿嘿~A AtCoder 4924用宽搜,把每个#加入队列,记录step就好了~//暴力真的会超时,www//不明白自己的输入输出哪里有问题。。就是会WA,换成cin就好了。。C AtCoder 4926移走一个节点上的硬币,其实就相当于把树的直径减少1或者2,当直径为1的时候...

2019-07-20 13:16:46 93

原创 2019summer系列 第九场

https://vjudge.net/contest/312189#overview这可真是……找规律专场。本蒟被虐哭了TwwwwT。。。

2019-07-19 11:04:05 214

原创 【Codeforces 482B Interesting Array】线段树

题目传送门题目大意给出许多 l、r、q,构造一个数列,满足每一个从 l 到 r 的按位与结果为 q 。思路s[i]s[i]s[i]表示第iii个要求,由三个东西组成~题目中有所以就不介绍啦(手动滑稽首先,建立一个数组~part[i][j]part[i][j]part[i][j]表示我们要求的数列中的第iii个数,二进制第jjj位为几。因为有10510^5105个限制,每个都修改一遍...

2019-07-18 10:02:27 93 3

原创 2019summer系列 第八场

https://vjudge.net/contest/311991#overviewA CodeForces 1176CB CodeForces 482BC AtCoder 4636D AtCoder 4637E CodeForces 1176BF AtCoder 5090G CodeForces 498C

2019-07-18 09:33:56 141

原创 【递归学习大法好】字典树&&AC自动机

字典树字典树其实很好理解啦,字面意思。大概就是建一棵树,让它像字典一样!它可以利用公共前缀,存很多很多很多字符串~建树首先,我们需要有一棵字典树!怎么种一棵字典树呢?通常情况下,我们使用……模板……来种!先来看一下模板的各种变量的定义!//使用了这里的模板,谢谢这位dalao啦!maxn题目是不会给的,要根据它给的内存,可劲儿往大了开!tree,就是我们阔耐的字典树啦!是不...

2019-07-17 16:11:07 279

原创 2019summer系列 第七场

https://vjudge.net/contest/311635#overviewD HihoCoder 1326自己纠结了很久都不会写,因为特殊情况真的好多啊。。规律真的找不到啊。。。但,这时候,其实。。早就应该想起来枚举的啊!!!特殊情况过多,又不担心复杂度的话,胡不枚举!!!?前缀和处理一下0、1个数,然后枚举断点,就好啦!#include<bits/stdc++.h&g...

2019-07-17 14:34:16 124

原创 2019summer系列 第六场

https://vjudge.net/contest/311332#overviewA CodeForces 1114Czzy的神奇横跳真是太神奇啦!btw,好好理解下质因数分解!!b=a1k∗a2l∗a3m……an?b = a1^k*a2^l*a3^m……an^?b=a1k∗a2l∗a3m……an?所以影响b的个数的,就只是k、m、l……?中,最小的啦!//zzy666 #inc...

2019-07-16 00:00:09 121

原创 【CodeForces - 1000E :We Need More Bosses】无向图缩点+树的直径

https://www.cnblogs.com/hua-dong/p/9238757.html观摩了大佬的代码,并添加了详细的注释。用儿子等不等于自己的爸爸判断是不是计算了反向边!#include<bits/stdc++.h>#define ll long long using namespace std;const int maxn=600010;int From[ma...

2019-07-14 14:56:56 103

原创 2019summer系列 周末划水

https://vjudge.net/contest/310810#overviewA我们可以用 0…359 之间的角度来描述一个方向,现在给出两个方向 a , b,你需要求出,从 a 转到 b 最少需要的角度。例如,从 70° 转到 180°,可以转 110°,也可以转 -250°又比如,从315°转到45°,可以转90°,也可以转 -270°定义一个角度 a 比另一个角度 b 小,...

2019-07-14 12:59:36 204

原创 【[USACO06JAN]牛的舞会The Cow Prom】tarjan求强连通分量

https://www.luogu.org/problemnew/show/p2863粘了板子,但是有些小疑惑。。。这个无向图,为什么怎么加边都可以呢。。//虽然看上去好像就是这样。加单向边就够了。。。#include<cstdio>#include<vector>#include<iostream>#include<stack>#d...

2019-07-13 15:24:17 104

原创 2019summer系列 第五场

https://vjudge.net/contest/310495#overview可以说是十分划水了。养生快乐。CodeForces 1000A一个写法非常暴力的题。反正我是很暴力。嗯嗯~#include<bits/stdc++.h>using namespace std;int n,p[12],f[12];string s; int main(){ cin &...

2019-07-13 12:50:56 118

原创 2019summer系列 第四场

https://vjudge.net/contest/310268A #HihoCoder1838-------------------------------“鎕鎕鎕 ”——一个贪心的小伙。嗯,那么是需要用贪心了。把卡片按Ai排序,取最大的Ai所在的卡片,然后后边的两两配对,取Bi较大的卡片。// 注意从局部到全局!直接全局是不可能的!B #HihoCoder1839--------...

2019-07-11 23:43:56 135

原创 【poj1330】倍增求LCA

#include<cstdio>#include<string.h>#include<vector>#define N 10050using namespace std;int T,n,a,b,deep[N],g[N][21];bool vis[N]; vector<int> p[N<<1];void dfs(int x)...

2019-07-11 15:11:18 126

原创 2019summer系列 第三场

https://vjudge.net/contest/310018#overview?tdsourcetag=s_pctim_aiomsgA------------------------------------排序,比较最大的最小的,一样就-1,不一样就不一样。B------------------------------------如果有奇数又有偶数,就可以随意交换,排序就成,否则就不...

2019-07-11 00:28:55 76

原创 2019summer系列 第二场

https://hihocoder.com/problemset/problem/1971找出所有位于最短路上的边。把所有边存起来,方便遍历。存邻接矩阵。正反,求出1到所有点的最短路和n到所有点的最短路。记1到n的最短路长度为min。对于每一条从a到b的边,如果dis1[a]+[a,b]+disn[b,n]==min,就YES,否则就NO。...

2019-07-10 11:50:40 99

原创 Fundamental C++ Knowledge

Fundamental C++ Knowledge&amp;amp;amp;amp;amp;amp;nbsp;slide 02IdentifiersIdentifiers (标识符) are used to name variables,functions, and other things in a program.An identifier is a sequence of characters comprising lett...

2019-01-12 17:57:12 708

空空如也

空空如也

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

TA关注的人

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