- 博客(293)
- 资源 (1)
- 收藏
- 关注
原创 模板整理
图论最小生成树Built?最短路一个人的旅行(最短路)最短路模板spfa+dijstkra各种姿势过【模板】单源最短路径(标准版)树的最小支配集开会二分图过山车(匈牙利算法模板)网络流Lca(树上最近公共祖先)割点和桥强连通分量树链剖分[NOIP2018模拟赛] 小P的Civilization Vpoj2449第k短路模板...
2019-03-02 19:58:16 351
原创 记录一些奇奇怪怪的骚操作
目录1,读入挂2,上下取整3,防止掉精度4,对于某些状态的压缩储存5 矩形交的简便表示方法6、线性求逆元7、计算机算乘法比除法快8、以十为底的快速幂9、统计数二进制中1的个数emm,想起来就更新目录1,读入挂2,上下取整3,防止掉精度4,对于某些状态的压缩储存5 矩形交的简便表示方法6、线性求逆元7、计算机算乘法比除法快8...
2018-11-24 20:09:14 789
原创 经典约瑟夫问题(快速求每一次淘汰)
n个人,每k个淘汰。就是经典约瑟夫,没有任何改动。若问最后一人,有个O(n)的dp,若问每一次淘汰的人数,那么我这里有个O(n*(logk)*logk)的算法。考虑树状数组优化。记数组A为这n个人是否被淘汰的标记数组,用树状数组记录前缀和。那么,每次可以二分以快速找到应该淘汰的下表,二分里套树状数组,所以带两个logpos记录当前位置,容易知道,pos将数组分为两块,若右边的个数小于等于k,说明位于,否则在上。对k处理一下防止超出范围。来个标准的lower_bound即可。代码如下
2021-01-16 14:57:38 418 1
原创 p3369跳表代替平衡树
在洛谷题解里没看到有写跳表的。自己看了看跳表琢磨了一下,调了一份A掉的代码多加了一个数组用来存跳过了几个元素,前开后闭也就是(]代码写的真丑#include<bits/stdc++.h>using namespace std;typedef long long ll;const int maxn = 2e5+7,maxlevel = 25;int sknext[maxn][maxlevel],tot,head,tail;int skval[maxn];int..
2020-09-24 11:25:29 327
原创 智算之道高校组复赛
参考链接、比赛当天直接睡过头了。三点半起来的。晕晕乎乎开始写。A暴力100-999B把起点和终点丢进去,直接dp/* author:revolIA submit:;*/#include<bits/stdc++.h>#pragma GCC optimize(3)using namespace std;typedef long long ll;const int maxn = 2e3+7;int cnt;pair<int,int>
2020-08-11 15:26:32 256
原创 智算之道初赛第三场 - 高校组
A简单模拟想尽办法都没有优化到0ms/* author:revolIA submit:;*/#include<bits/stdc++.h>#pragma GCC optimize(3)using namespace std;typedef long long ll;const int maxn = 1e5+7;int n,L,A,B,opt,x,v;int main(){ scanf("%d%d%d%d",&n,&L,&
2020-07-27 00:54:15 312
原创 Johnson法则-流水作业调度-动态规划
转载再转载,原作者我是找不着了、链接、流水作业调度的定义:设有n个作业,每一个作业i均被分解为m项任务:Ti1, Ti2, ┅ , Tim(1≤i≤n,故共有n×m个任务),要把这些任务安排到m台机器上进行加工。如果任务的安排满足下列3个条件,则称该安排为流水作业调度:1. 每个作业i的第j项任务Tij (1≤i≤n, 1≤j≤m)只能安排在机器Pj上进行加工;2. 作业i的第j项任务Tij(1≤i≤n, 2≤j≤m)的开始加工时间均安排在第j-1项任务Ti,j-1加工完.
2020-06-04 20:24:51 2604
原创 拿python写一个考研英语大纲词汇查询exe
本来想找个资源,找来找去,没找到,只找到一个https://kaoyan.koolearn.com/20190131/1035624.html里面是19年的,然后110个网址,,,每个里面大约50个词。爬虫吧,边查边写,写了俩小时。。主要是,这鬼东西,里面还有网址嵌套、、想找个现成的方法、、结果没找着,自己写了一个clear写文件的时候也出问题了,说txt是gbk编码,utf-8有问题、、就搜了个codecs.open()打开文件#-*- coding:UTF-8 -*-im
2020-05-08 19:59:27 424
原创 退役啦~~
本来还想打个省赛摸个金来着,结果疫情影响省赛没有了、qwq在家摸鱼摸得也够久了。。总想着干点大事情,然后却一直咸鱼躺。总结一下,陆陆续续出去七次比赛吧1,济南省赛-铁,印象:1e422,秦皇岛ccpc-铁,印象:第一次知道蔡队,“老师你在哪,我们ak出来了”。3,南京icpc-铁,印象:队友抢被子。数三角形个数,没记错的话好像是C(n+3,4)4,济南省赛-铜,印象:济南大...
2020-04-29 11:40:18 314
原创 win10服务和控制器应用CPU占用过高
来源、RT,怎么办呢,上面来源里说了可以通过重启动 Windows Management Instrumentation 服务解决并且讲了,可以通过编写bat文件加入开机启动项。但是,每个人的服务依赖是不一样的,我的就多一个vm work。。。所以,这个博客主要讲如何写bat并加入开机启动我们可以直接在开机启动项目录里新建bat文件目录如下...
2020-04-17 15:34:04 7584 3
原创 最大公约数
问题 D: 最大公约数时间限制:1Sec内存限制:128 MB[提交] [状态]题目描述给定n个正整数,a_1,a_2,…,a_n,求最少删去几个数,使得删去后这些数的最大公约数比原先的所有数的最大公约数大。输入第一行一个整数n,第二行n个正整数,a_1,a_2,…,a_n。输出一个数,表示最少删去的个数,若无论怎么删都不会比原来的大,输出-1。样例输入...
2020-04-08 13:08:12 919
原创 魔改森林
链接:https://ac.nowcoder.com/acm/contest/4474/A来源:牛客网时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld题目描述曾经有一道叫做迷雾森林的题目,然而牛牛认为地图中的障碍太多,实在是太难了,所以删去了很多点,出了这道题。牛牛给出了一...
2020-03-08 18:52:40 548 2
原创 Sum Equals Xor(我果然还是不太会dp)
You are given a positive integer L in base two. How many pairs of non-negative integers (a,b) satisfy the following conditions?·a+b≤L·a+b=a XOR bSince there can be extremely many such pairs, print ...
2020-02-02 20:34:07 375
原创 最短路(road)配对堆优化dij
题目链接、bzoj3040、限时60s可把我吓坏了程序跑了10s点1e6,边1e7考虑配对堆优化、#说实话如果不涉及大量的改值的话,配对堆也没传说中的快/*author:revolIA*/#include<bits/stdc++.h>using namespace std;typedef long long ll;const int max...
2019-10-26 18:29:44 421
原创 manacher模板
洛谷模板/*author:revolIA*/#include<bits/stdc++.h>using namespace std;typedef long long ll;const int maxn = 1e7+1e6+7;char s[maxn+1<<1];int Len[maxn+1<<1];int manacher(cha...
2019-09-29 21:00:40 229
原创 我才不是毒瘤出题人
题目链接、我才不是毒瘤出题人Time Limit:1000 msMemory Limit:65536 KiBSubmitStatisticDiscussProblem Description有一个长度为n的初始序列a,下标从1到n。现在你有两种操作,1:下标为k的数加12:序列中第k小的数是多少?Input第一行两个数n,m.表示序列长度和操作次数。第...
2019-09-29 20:49:59 323
原创 绝地求生(珂朵莉树)
问题 B: 绝地求生时间限制:1 Sec内存限制:128 MB提交:61解决:20[提交] [状态] [命题人:admin]题目描述吃鸡开局了,你降落的森林中有一条长度为S的小路(编号从1到S),且在小路上时常会起雾,你手上的激光发射器可以让雾消散。你肯定你所在位置的视野。若位置x有浓雾,则位置x的视野为0。若从x一直到S或从x一直到1全都没有浓雾,则视野为INF...
2019-09-25 09:58:51 440
原创 UVA 12657 Boxes in a Line(双向链表)
这里写的并不是uva上的那个题,而是upc上的一个题,所以,稍微有些不同You have n boxes in a line on the table numbered 1…n from left to right. Your task is tosimulate 4 kinds of commands:(i) 1 X Y: move box X to the l...
2019-09-22 19:31:58 228
原创 JSOI2019招待
问题 A: 招待时间限制:1 Sec内存限制:128 MBSpecial Judge题目描述请了两位奆老来为自己种树,小X也稍稍有些不好意思了,于是他准备了一些零食和饮料来招待奆老们。然而,小X有强迫症,他希望自己和好基友们所有的零食和饮料的质量都要完全相同。由于小X是一个奆老,所以他看不起普通商店里卖的电子秤,他决定自己做一个。他的称重工具是一架由金子制成的天平,这...
2019-09-21 11:53:47 285
原创 珂朵莉树练习
CF896C Willem, Chtholly and Seniorious万恶之源稍微有些复杂,因为操作比较多1lrx:将区间所有数加上x 2lrx:将区间所有数改成x 3lrx:输出将区间从小到大排序后的第xx个数是的多少(即区间第x小,数字大小相同算多次,保证) 4lrxy:输出区间每个数字的x次方的和模y的值(即(...
2019-09-14 21:58:42 344
原创 计蒜客The beautiful values of the palace
题目链接、y轴压缩,维护x的树状数组矩阵查询变成两个/*author:revolIA*/#include<bits/stdc++.h>#define HEAP(...) priority_queue<__VA_ARGS__ >#define heap(...) priority_queue<__VA_ARGS__,vector<__...
2019-09-10 21:38:50 258
原创 hdu6681 Rikka with Cake
题目链接、压缩y轴,维护x的树状数组/*author:revolIA*/#include<bits/stdc++.h>#define HEAP(...) priority_queue<__VA_ARGS__ >#define heap(...) priority_queue<__VA_ARGS__,vector<__VA_ARGS__ &g...
2019-09-10 17:23:20 208
原创 CDQ分治练习
cdq分治解决偏序与整体二分解决区间k小思路相似,都是考虑左区间对右区间的影响,但是实现略有不同偏序的重点是:理解两个有序链表的合并,即,一次归并排序整体二分的重点是:二分权值,把操作(查询与修改)划分到左右区间,然后递归处理陌上花开x排序,y分治,z树状数组/*author:revolIA*/#include<bits/stdc++.h>...
2019-09-07 10:14:28 291
原创 hdu6701 Make Rounddog Happy(笛卡尔树启发式分治)
题目链接、题意:求有多少对,使得内无重复数字,且题解:预处理的管辖区间处理一颗笛卡尔树,遍历整棵树,启发式分治区间一、对于,我们先处理一个上次出现的位置+1,然后取一个前缀对于,我们先处理一个上次出现的位置-1,然后取一个后缀这想法个来自这里、二、直接暴力跑区间1、设一个r,不断往右走,一边走一边标记,当遇到标记时,记录当前位置-1,即...
2019-08-28 19:51:28 387
原创 hdu6703 array权值线段树
题目链接、因为1操作每次加一个1e7,而k在n以内,所以1操作一下相当于把a[pos]删掉了答案一定在内,然后建一颗权值线段树,存下标的最大值每次2操作,相当于询问在中,下标大于的最小值是多少查询先看左子树中是否在,左子树中最大下标是否大于如果左子树查询完毕没有查到结果,那么看右子树是否可以查询。#include<bits/stdc++.h&...
2019-08-24 13:13:42 237
原创 hdu6693 Valentine's Day
题目好难懂orz自闭题意:某人要给他女朋友买礼物,他想求他买的这些礼物让他女朋友只笑一次的概率最大是多少但是他也没给你他要买哪些,,题解:贪心从最大的开始买,假设选了前k件最大的,那么答案就是想办法优化这个一般我们的操作就是前缀和和前缀积化简、设前缀积上面式子化成了这个求和明显可以用前缀和搞定设则,化简成这样枚举i从1到...
2019-08-22 10:49:49 537
原创 2019牛客多校九E.All men are brothers(统计n个数中四个不同数的相乘和)
题目链接、直接求四个不同的相乘不好求,那么维护三个的两个的和一个的,通过这三个来维护每次合并两个(删掉两个加上一个)造成的影响注意一开始的直接算的话爆掉longlong了,所以处理了一下影响:一二三四个,记为cot1+cot2+cot3+cot4,其中cot4即答案为了方便,我自己创造了俩符号,用来方便思考和叙述,表示不去重的,即选出n个中选出i个相乘(有顺序的)...
2019-08-16 11:51:41 208
原创 法里数列、小结
这叫Stern-Brocot树,其中真分数(左边),叫法里数列(Farey 数列)上图是一棵Stern-Brocot树,其生成规则如下:从第1行到第n行,每行相邻两数a/b和c/d,产生中间数(a+c)/(b+d),置于下一行中。将一行的分数(包括0/1,1/0),进行约分简化,则每一行(包括0/1,1/0,1/1),不会出现两个相同的分数。若分子或者分母大于n,则去掉该分数,将...
2019-08-14 11:59:26 823
原创 2019牛客暑期多校(第七场)E题Find the median
题目链接、题意:给你一个空数组,n次操作,每次往里面填入里的每个数,也就是l,l+1,,,,r,然后问你中位数是谁题解:考虑树状数组维护区间、众所周知,如果差分的话,这种区间加一的操作只需要加俩点就行了,但是要求中位数的话,需要树状数组+二分才可以一般的中位数是树状数组维护原数组,然后二分前缀和,这里并不能这么用,因为不能维护原数组。所以这里考虑区间影响询问pos,...
2019-08-10 10:38:43 270
原创 线段树维护区间子段和(模板题)
题目链接、题意:给定长度为N的数列A,以及M条指令,每条指令可能是以下两种之一:1、“1 x y”,查询区间 [x,y] 中的最大连续子段和,即2、“2 x y”,把 A[x] 改成 y对于每个查询指令,输出一个整数表示答案。题解:线段树维护一、线段树的精髓——区间合并,考虑怎么合并就行了:1、合并的答案要么左区间的子段和,要么是右区间的子段和,要么是中间的一...
2019-08-09 09:42:09 537
原创 2019杭电多校6,E.Snowy Smile(线段树维护子段和)
题目链接、题意:给你n个点(小于等于2e3个),每个点有个价值val,有个x,y坐标(这三个值都是1e9的)让你求一个最大的子矩阵和T组(100)题解:线段树维护子段和因为x,y,太大,所以要离散化,之后是一个n*n的矩阵,这时,原本有一个算法,即,枚举一个上下界,然后一个的dp当时我就这么写的,想了半天不造咋优化后来才知道,线段树可以维护子段和其...
2019-08-08 21:04:24 373
原创 2019牛客(第七场)C.Governing sand
题目链接、题意:给你n种树,每种树有p[i]个,每个去掉花费c[i],树高h[i]让你去掉一些树,使得最高的树的个数占总数的一半以上题解:从高到底枚举树(相同高度看为一种),计算出需要去掉多少,然后二分即可一直错的原因:top=Q.top()忘记写了、#include<bits/stdc++.h>using namespace std;ty...
2019-08-08 19:40:32 395
原创 问题 A: Array Without Local Maximums
题目链接、我居然还打过这场的cf,还补过题,还发过博客,orz,全忘了计数dp一脸懵b第一维滚动数组用的第二维枚举当前位置是哪个数第三维0,1,2,分别表示比前面那个数小,等,大dp里面放的是方案数小:0,1,2都可以加等:只要把前面那个数的0,1,2都加上。大:加上大于这个数的数字方案数的前缀和,可以加上1,2的情况。/...
2019-08-07 11:49:56 179
原创 Fhq Treap无旋Treap练习
洛谷p3369 【模板】普通平衡树split采用按权/* author:revolIA submit:;*/#include<bits/stdc++.h>using namespace std;typedef long long ll;const int maxn=1e6+5;int l[maxn],r[maxn],val[max...
2019-08-06 11:20:51 211
原创 Ac自动机练习
Ac自动机是用来解决多个小串(模式串),在一个大串(文本串)中出现次数这种类似问题的因为Trie树上直接跑dfs时间复杂度太大,所以考虑减少复杂度fail指针,相当于每次存了个扫到的当前最长后缀Trie树上用bfs建fail指针。暴力扫文本串即可洛谷p3808,简单模板给定n个模式串和1个文本串,求有多少个模式串在文本串里出现过。/* ...
2019-08-02 20:03:50 179
原创 字典树初步练习
字典树:一颗二十六叉树(只有小写(或大写)字母的话,数字是十叉,也有特殊的01字典树),将串插入的时候,就按着儿子走,在最后结束位置打个标记(我一般开个标记数组)感觉更像是一种思想。关于清空的小技巧:如果遇到多组输入了tot清零(动态开点),把根的二十六个儿子清空,剩下的插入的时候,如果需要申请空间了,先申请,然后清空所有儿子可以降低时间复杂度(对于...
2019-07-31 16:40:44 232
原创 问题 N: 扶桑号战列舰(笛卡尔树or差分数组)
问题 N: 扶桑号战列舰时间限制:1 Sec内存限制:128 MBSpecial Judge提交:169解决:52[提交] [状态] [命题人:admin]题目描述众所周知,一战过后,在世界列强建造超无畏级战列舰的竞争之中,旧日本海军根据“个舰优越主义”,建造了扶桑级战列舰,完工时为当时世界上武装最为强大的舰只。同时,扶桑号战列舰也是舰岛最为科幻的战列舰。当...
2019-07-30 19:02:11 1163
原创 线性基
hdu3949XOR求异或第k小/* **author:revolIA *submit:*/#include <bits/stdc++.h>using namespace std;typedef long long ll;const int maxbit = 63;ll bit[maxbit],Lbit[maxbit]...
2019-07-26 14:21:46 146
原创 笛卡尔树
建树倒是会了,不知道有啥用问题 N: 扶桑号战列舰(笛卡尔树or差分数组)hdu6701 Make Rounddog Happy(笛卡尔树启发式合并)就是一个用数组下标作为另一关键字的treap因为这个下标作为关键字的性质,所以从左向右扫描数组建树的时候,新节点一定靠右,即分两种情况:为右孩子或者左孩子的父亲,所以单调栈处理一下,维护右链,每次退栈到当前元素应该...
2019-07-19 09:37:17 269
原创 堆,斜堆,左偏树
二叉堆左偏树斜堆就是每次合并必定交换左右儿子,去掉dis数组(统计高度)来,这是洛谷p1177快速排序,可以去试试了小根堆141ms#include<bits/stdc++.h>using namespace std;typedef long long ll;const int maxn = 1e5+7;int tree[maxn],tot,n...
2019-07-09 19:46:06 373
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人