- 博客(128)
- 收藏
- 关注
原创 xor相关(持续更新)
T1 The XOR Largest Pair01trie模板题#include<bits/stdc++.h>#define LL long long#define N 101010using namespace std;int son[N*30][2],idx[N*30],tot,n,a[N];void insert( int pos,int x ){ int p = 0; for(int i=31;i>=0;i--) { int &temp = s
2021-07-30 19:07:18
275
原创 XOR-MST(模板)&& 相关题
例题题意: 给你一个 nnn 个节点的完全图,第 iii 个点的权值为 aia_iai ,两点的之间边权为这两个点权值的异或值,求最小生成树(MST)的权值。参考dalao博客步骤:对各个点权值进行排序跑dfs,从高位到低位每次dfs找到这个区间[l,r][l,r][l,r]的当前二进制位(深度表示)是1的那个数,然后继续二分。对trie树上每一个可能是LCA的点,合并左右两颗子树(启发式合并),对一颗子树内的叶子点值一个子树建trie,查找trie树上异或另一颗子树内的叶子点值最小的结果
2021-07-30 19:05:47
198
原创 2021杭电多校4
比赛情况:比赛过程:首先1001题刚开始cqf看错了题,我一开始写的先罚了三四发,然后按照理清题意后判断一下就过了,然后是cqf签的暴力1002,再之后时wmd签的1009,期间还因为忘记清零wa了三发,然后开了1008 1004 1005先过了1008之后另外两题一直处于懵的状态,一直罚坐到结束…T1001 Calculus题意:给定几个级数,分别是CCC、C/XC/XC/X、CsinxzCsinxzCsinxz、CcosxCcosxCcosx、C/sinxC/sinxC/sinx、C/cosx
2021-07-29 17:55:26
291
原创 HDU多校2:1004 I love counting
地址题目:题意:一个长度为n的序列,每个位置i有一个权值,然后有Q个询问,每次询问包含l,r,a,bl,r,a,bl,r,a,b四个参数,其询问含义为区间[l,r][ l,r ][l,r]有多少种权值wiw_iwi使得,wi⊕a≤bw_i⊕a≤bwi⊕a≤b解题:题目没说要修改,意味着我们可以离线进行操作。并且这类异或一般都涉及trie树这种数据结构。查询其实就变成了询问区间[l,r][ l,r ][l,r]内,后继节点位置>r>r>r的数有哪些,我们只统计这些数对于答案
2021-07-28 19:32:47
187
原创 2021杭电多校3
T1004 Game on Plane题意:给n条直线,每轮一个k,A先选k条,B再画一条,计算B画的这条线与A选的这k条线的交点,A希望这个值尽可能大,B反之。问k从1到n递增时候,这个最小为多少。idea:1)HDOJ不要用读入优化 !!!!(如图:)2)cmp别别手欠多打个=ACcode:#include <cstdio>#include <algorithm>#include <unordered_map>#define LL long .
2021-07-27 18:02:18
409
1
原创 2021牛客多校3
这一场…心情复杂比赛结果:比赛过程:没错,这一场没有传统的签到题,没有www…开局1h,看着奇怪的榜单,除了前两页,后面队伍仍在爆零状态。此时wmd手上敲着F,cqf想着当时最多人过的J,我在看只有10来个人过的E(math),然后第一发F wa了,再调整了大半小时后终于迎来了本场第一发AC。半小时后cqf切了J。彼时,我推了快一个小时公式总于是把E如何求得答案数搞出来了,然后开始加速优化代码过程,(期间还因为一些语法问题搞得全队集体懵逼,原来set的迭代器不能直接加减啊啊 )最后加速到了一个合适
2021-07-25 01:03:06
256
原创 2021杭电多校2
比赛情况:比赛过程:开场cqf签了1012和1005两道大水题,然后我干过去了1001(高中平方和立方和公式成功记错 ),然后开始罚坐三小时,期间我开了个1004,想了了一个可持久化trie,结果打完了快两百行被去重问题卡了一个多小时,然后cqf口胡了一个加莫队的普通01Trie,但是对莫队熟练的wmd身体原因提前回去休息去了,遂放弃,最后1h连过了1008简单DP和1011。T1001 I love cube但是场上成功记错了立方和公式qwq平方和:立方和:ACcode://下必换队
2021-07-22 18:56:07
501
2
原创 2021杭电多校1
比赛情况:过程:cqf签了1001,1005,然后wmd莫队过了1010。之后我和cqf干过去了1008。后面cqf和wmd过了1009,我最后过了1006;T1008 Maximal submatrix#include<bits/stdc++.h>#define LL long long #define N 2050#define MIN 0xc0c0c0c0using namespace std;int a[2050][2050],p[2050][2050],ans = M
2021-07-20 17:09:52
561
18
原创 2021牛客多校2
比赛情况过程:开场cqf签到D我签到C。然后wmd开I(并且成功成为全场除北大外第二个过掉I的 )。然后开K,一起想了半小时左右cqf想到了正解,直接上。 然后…开始罚坐到比赛结束。本人甲级战犯,F推错公式坑惨队友。TC Draw Grids题意: 给定一个n*m的点阵,每次选两个相邻点连线两个人轮流操作,不能连出封闭图形,不能操作者输。idea: 不能连出封闭图形就是不能形成环,也就是图始终是一片森林终态一定是一棵生成树,因此根据点数奇偶性即可判断#include<iostre
2021-07-20 10:19:18
400
2
原创 2021牛客多校1
比赛中过题情况:历程:一开始先把签到D给切了,然后我开F打表确认猜的结论的正确性,过了。后面是B,一个几何,我和wmd推公式推推推推出来(其实这题应该比F还签到一些 ) 。再之后我去开A,本来想打表找规律,结果根本没有规律,遂直接打了个5000*5000的表,一发AC。然后再H上一直罚坐到结束,结束前cqf干过去了K.TA Alice and Bob题意:两人博弈,每次一个人从一堆中拿 k 个,同时从另一堆拿 k * s(s >= 0) 个,问谁先不能拿。10000 组数据,N <
2021-07-19 10:15:55
450
原创 洛谷多校第5轮
2021.7.11赛中过的C HTC Coprime题意:给你一个序列,再给你一个操作,每次你可以把某个数变成任意的另一个数,问你最少多少次操作,使得序列中任意相邻两个数互质。序列长度<=1e5。idea:首先需要注意到互质的定义:gcd(a, b) == 1。所以如果b是1,那么a必与b互质,尽管b既不是质数也不是合数。然后贪一个,从左到右考虑,假设ab不互质,那么把a改成1不会比把b改成1更优。证明:因为是从左到右考虑,所以a不改也不会与前一个冲突,而b改了之后就不和后边冲突了
2021-07-11 17:20:15
121
2
原创 洛谷多校第3轮
2021.7.7记录:赛中过了C和HTH Fetch spring water题意:给一个如图所示的水箱,问最多能装多少水。idea:直接得答案ACcode:#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#define ULL unsigned long longusing namespace
2021-07-10 19:00:53
138
1
原创 洛谷多校第2轮
2021.7.10记录:赛中本蒟蒻过了F和GTF Flaw题意:idea:分开两种情况,当问的是a+N1>N2时候,直接求,不用考虑自然溢出。另一种情况时,分开不溢出和溢出求解即可。(听说可以指令集or汇编过掉它,但是我不会)ACcode:#include<bits/stdc++.h>#include<iostream>#include<cstring>#include<cstdio>#include<algorithm&
2021-07-10 18:47:12
170
1
原创 洛谷多校训练第 1 轮
T B题面:idea:这题一开始就知道是类似lqb里面的日期问题,但是当年准备lqb的时候并没有学习日期公式(就是蔡勒公式),只能写了一个没那么暴力的暴力程序。思路是先用十亿减去现在拥有的的钱数,然后一个月一个月地递推过去。ACcode:#include<iostream>#include<cstring>#include<cstdio>#include<cmath>#include<algorithm>#include<
2021-07-05 17:56:18
171
原创 ICPC2021山东省赛总结
按时间线走…首先是TG很签到,看到数据范围就知道只能模拟除法。然后我和栋哥开TD去了题意就是薛定谔的箱子(bushi),一个箱子没开之前不知道里面的重力场方向,有可能是水平向左,也可能是竖直向下,这个箱子里面有一些小方块,求每次打开箱子后再两种重力作用下形成的轮廓的周长。idea:两种情况是一样的在峰哥狂过了B C J题之后,发现还剩下M题是可做的,然后开始了与M题的拉锯战…首先栋哥贡献了14发WA,最后半小时我开始打M,打到最后5min才终于过掉,前前后后一共WA了20发啊啊啊啊啊qwq
2021-05-14 11:45:13
1310
8
原创 LCY进阶 week3
T1 张煊的金箍棒(2)ACcode:#pragma GCC optimize(2)#pragma GCC optimize(3,"Ofast","inline")#include <bits/stdc++.h>#define inf 0x7fffffff#define ll long long#define int long long//#define double long double#define eps 1e-8//#define mod 1e9+7#define
2021-04-02 16:17:47
205
原创 LCY进阶 week2
本周知识点:拓扑排序,迪杰斯特拉堆优化T1确定比赛名次题意:非常明显…idea:对于每个给出的关系,我们把赢的一方向输的一方连一条边,然后跑一边拓扑排序即可,不过要注意这里需要使用重载过的优先队列来确保得到的答案一定是字典序最小的。ACcode:#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<bits/stdc++.h>
2021-03-24 14:20:06
204
原创 Codeforces Round #707 Div. 2 A B C D
TA题意:给你一个火车的时间表(包括预计到达时间,预计出发时间),再给你一个组数,表示每站到达的延迟时间。火车出发需要满足两个条件。1.最少等待(预计出发时间-预计到达时间)/2的时间(向上取整)。2.出发时间>=预计出发时间idea:模拟即可ACcode:#include<iostream>#include<cstdio>#include<algorithm>#include<cmath>using namespace std;
2021-03-17 15:50:24
292
原创 LCY进阶 week2 树状数组
T1 链接题意:就是老我比他函数的功能,找二进制中最低位的1代表的整数ACcode:int lowbit( int x ){ return x&(-x);}T2链接题意:给一个数组,会动态修改某个位置的数值,求一些区间的值idea:就,真的裸ACcode#include<iostream>#include<algorithm>#include<string>#include<string.h>using namespac
2021-03-14 23:26:56
124
原创 Educational Codeforces Round 105 (Rated for Div. 2) A B C
本场比赛打得心态炸了 ,TB比较好想,但是调了好久…比赛链接TA ABC String题意:就是括号匹配 A B C分别代表‘ { ’ 或‘ } ’,问能不能让括号匹配。idea:也可以不用栈,扫一遍就好ACcode#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#include<set>
2021-03-06 12:56:39
162
原创 LCY进阶 week1 STL
T1链接题意:把两个集合的元素全部凑到一个集合中,从小到大输出即可;idea:用set天然带有去重的功能ACcode:#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#include<map>#include<set>#define LL long longusing namesp
2021-03-05 18:51:51
152
原创 数位dp(模板)
一篇不错的博客一般数位dp问题是这样的:求出在给定区间 [A,B] 内,符合条件 f(i) 的数 i 的个数。条件 f(i) 一般与数的大小无关,而与数的组成有关例如:给出一个数n,1~n有多少数包含49,测试数据1<=T<=10000,1<=n<=2^63-1#include<bits/stdc++.h>using namespace std;const int Max = 99999;const int Min = 0;const int inf
2021-02-24 17:33:38
169
原创 Codeforces Round #704 (Div. 2) ABCD
比赛链接D题因为一些小错误又FST了TA:Three swimmers题意:有三个游泳的人分别会在0,a,2a,3a,…,0,b,2b,3b,…,以及0,c,2c,3c的时刻位于游泳场的最左端.现在你在p时刻站在泳池最左端,问最快多久之后,会有一个人游到最左端.idea:模一模就出答案了,注意模完为零的情况就好ACcode:#include<iostream>#include<cstdio>#include<cstring>#include<al
2021-02-24 16:29:07
147
原创 luogu1 月月赛 Div.2 T3 P7287 「EZEC-5」魔法 (二分)
前序知识点:洛谷P1115 最大子段和三种办法求最大子段和第一种:二分#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#define N 201000#define MIN 0xc0c0c0c0using namespace std;int n,a[N],ans;int work(int l,int r
2021-02-23 15:39:13
261
原创 Codeforces Round #702 (Div. 3) ABCDE
比赛链接TA题意:问要插入最少多少个数让整个数组满足题目的条件,即相邻两个数之间大小补相差二倍idea:遍历一遍,对每两个相邻的数,看看较小的数*2多少次后可以大于等于较大的数,利用位运算方便点#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#include<algorithm>#include<queue>#define LL l
2021-02-18 15:32:23
125
原创 Codeforces Round #699 (Div. 2) A B
TAidea:分别记录在x和y方向上的步数,看看相应方向的步数和x,y的绝对值的大小关系。#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>using namespace std;int a[5];int t,x,y;char s[1010101];int main(){// freopen("in
2021-02-06 14:04:44
160
1
原创 luogu [JRKSJ R1] JFCA(一种二分模板)
题目出题人题解我的idea:先断环成链,存两遍,即Ai = Ai+n ,从左到右和从右到左各扫一遍,在这个过程中用优先队列存下来每个位置的b,在处理每个位置的时候,先把这个位置的a和优先队列中存的b比较,该出队列的就出去,然后把当前位置的b加入队列。扫完两遍后就出结果了。#include<iostream>#include<cstdio>#include<cstring>#include<stack>#include<algorithm&g
2021-02-05 15:14:18
277
1
原创 寒假week3小结
本周专题:字符串主要包括:kmp算法,tire树,hash算法…A - Spell checker #include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<string>#include<cmath>#define INF 0x3f3f3f3f#define LL long long#define N 10100
2021-02-05 13:54:30
138
原创 寒假week2
本周:DP专题当年打OI的时候dp就不会事实就是到现在各种各样的dp我还并没有全会dp三个特征:1.能划分为重复的子问题2.最优子结构3.没有后效性除此之外好像我也还在各种题目中不断学习dp关于背包九讲:某巨巨的讲解题单:VJ地址TA题意:对每个数可不变可加一,问最多有几个不同的数。idea:贪心吧…#include<iostream>#include<cstdio>#include<cstring>#include<algorith
2021-01-27 00:11:25
118
原创 2020西北工业大学冬季选拔赛
心路历程:一开始把签到的题目AC了,然后干A题,好家伙,到比赛结束都没有人AC掉A题qwq,1H过去了…然后是H题,这题还比较好过一点,然后又成功卡在了F题,我在题意上卡了好久(赛去打了场球后再看才明白在问什么QWQ)总的来说,题目质量极佳,可惜就是我太菜TB二分找答案#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#define LL long
2021-01-19 12:52:51
321
原创 2021寒假week1笔记
week1的安排的专题是数据结构题目集中大概包含这些数据结构&&算法:优先队列、栈、树状数组(一维+二维)、线段树、LCA(tarjin)、最小生成树、floyd、贪心、RMQ(ST表)、tire树(▶AC自动机),树直径先顺一遍这一周的一些数据结构1.树状数组复杂度:修改和查询的复杂度都是O(logN)关于树状数组最经典的图当然就是…几个函数模板:int lowbit(x) { return x & -x;}//求前缀和int getsum(in
2021-01-18 18:00:15
455
原创 luogu P7262 Get Your Wish
题目描述Porter 在浅水上完成了他的 MV,但他很快发现了事情不对:他的话筒进水了。Porter 的话筒内部的关键电子元件可以被看作一个 n\times mn×m 的二维平面。我们用一张 n\times mn×m 的字符画来表示 Porter 的话筒内部状况,其中有三种不同的字符:.表示空位x表示关键电子原件o表示水滴水滴会沿着重力方向一直流动,直到流出边界或者流到电子原件上。当水滴流到任意一个电子原件上时,Porter 的话筒就会坏掉。Porter 慌忙把话筒转过来,改变了话筒内部的重力方
2021-01-13 16:52:16
233
原创 week9模拟赛
TAN个气球排成一排,从左到右依次编号为1,2,3…N.每次给定2个整数a b(a <= b),lele便为骑上他的“小飞鸽"牌电动车从气球a开始到气球b依次给每个气球涂一次颜色。但是N次以后lele已经忘记了第I个气球已经涂过几次颜色了,你能帮他算出每个气球被涂过几次颜色吗?Input每个测试实例第一行为一个整数N,(N <= 100000).接下来的N行,每行包括2个整数a b(1 <= a <= b <= N)。当N = 0,输入结束。Output每个测试实例
2020-12-08 00:47:08
579
原创 week5小结(字符串类)
1.字符串数据常用关于char:复制 strcpyint main(){ char src[]="abcde"; char dest[100]; strcpy(dest,src); printf("%s",dest); //输出>> abcde }部分复制strncpyint main(){ char src[]="SWT is so great! We should % him everyday."; char
2020-11-08 00:26:22
362
原创 week4小结(关于初等数论)
....1.模运算几个常用的定律:( a + b ) mod p = ( a mod p + b mod p ) mod p( a * b ) mod p = ( (a mod p) * (b mod p) ) mod pc * ( a mod p ) = ( c *a ) mod ( c b ) ————————条件:(cy!=0)....2.欧几里得算法##首先考虑一下:对于任意两个正整数 a,b ,都有:a=kb+r (k,r∈N)所以有:r=a%b
2020-11-01 02:07:17
425
1
原创 week3小总结
这周真是魔幻现实,科技论文、入党、团委一堆事铺面而来。这周的队内练习题都还没打完(这周才知道原来我们是全校最多课的,没有之一雾~),只能先把写了的做做总结了。这周主要学习的是各种基本的数据结构,比如栈,队列什么的。juruoGCX在这小小复习一下从前学过的数据结构。1.栈栈,又名堆栈,是一种运算受限制的线性表,限制是:仅仅允许从表的一段插入和删除运算。这一段称为栈顶,把另一端称为栈底。向一个栈插入新元素又称为进栈、入栈和压栈。它是把新元素放到栈顶元素上面,使之称为新的栈顶元素;从一个栈删除元素又称作出栈
2020-10-25 23:48:25
148
原创 关于位运算
本蒟蒻在大学的第一周,acm队发了一套习题集,其中关于位运算的题目让我想起来在高中还是oier的时候对于位运算的迷茫, 在此重新学习并整理了一些关于位运算的东西。位运算符号总览:按位与运算符(&)运算规则:0&0=0 0&1=0 1&0=0 1&1=1总结:两位同时为1,结果才为1,否则结果为0。例如:3&5 即 0000 0011& 0000 0101 = 0000 0001,因此 3&5 的值得1。注意:负数
2020-10-10 02:11:34
239
原创 2020-10-10
题目描述楼梯有 NN 阶,上楼可以一步上一阶,也可以一步上二阶。编一个程序,计算共有多少种不同的走法。输入格式一个数字,楼梯数。输出格式输出走的方式总数。输入输出样例输入 #1复制4输出 #1复制5说明/提示对于 60% 的数据, N≤50;对于 100% 的数据,N≤5000。就是斐波那契数列,但是高精度比较麻烦,可以考虑用二维数组简单解决高精度的计算。#include<iostream>#include<cstdio>#include<c
2020-09-29 11:29:45
122
原创 NOIP2016--day2 总结&&题解
T1–组合数问题...一开始看到这题目,哎呀,懵逼数学题。然后…,不管了打个表找个规律先。然后发现用2000*2000的数组存下所有组合数不是不行,然后突然又想到,这么大的数字,long long 也会爆啊,然后,猛然发现可以对每一个组合数进行取模。所以我们需要的公式是ac[i][j]=(c[i−1][j−1]+c[i−1][j])%kac[i][j]=( c[i-1][j-1] +...
2018-11-01 20:51:40
436
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅