摘要: Problemset - Codeforces 考虑这些被释放的,值一定相同,并且等于区间gcd 于是用st表询问区间gcd,map套二分实现区间里某个数字出现次数 int n,a[100010]; int f[100010][20],lgn[100010]; map<int,vector<int> 阅读全文
posted @ 2024-01-01 17:27 zzuqy 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 浅显的做法是二分+主席树,主席树维护区间里pre都落到了哪。复杂度nlogn^3 int tot,lc[2000000],rc[2000000],c[2000000],pre[100010],rt[100010],n; int build(int x,int l,int r,int d) { tot 阅读全文
posted @ 2023-04-12 11:16 zzuqy 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 链接 考虑线段树维护区间里已配对的括号数,左边还没配对的右括号数,右边还没配对的左括号数。 区间询问,合并两个子区间即可。 int n; char s[1000010]; struct node { int c,l,r; }o[4000010]; node merge(node l,node r) 阅读全文
posted @ 2022-11-12 11:10 zzuqy 阅读(142) 评论(0) 推荐(0) 编辑
摘要: PTA | 程序设计类实验辅助教学平台 (pintia.cn) L1-097 编程解决一切L1-098 再进去几个人L1-099 帮助色盲L1-100 四项全能L1-101 别再来这么多猫娘了!L1-102 兰州牛肉面L1-103 整数的持续性L1-104 九宫格 L2-049 鱼与熊掌L2-050 阅读全文
posted @ 2024-04-21 11:29 zzuqy 阅读(74) 评论(1) 推荐(0) 编辑
摘要: 按结尾数字排名进行的插入类dp T1 AT_dp_t Permutation 有一个长为 \(N\) 的正整数排列。给定一个由 < 和 > 组成长为 \(N-1\) 的的字符串。 对于任意满足 \(1 \le i \le N-1\) 的字符 \(s_i\),如果 \(s_i\) 是 < 则 \(P_ 阅读全文
posted @ 2024-01-17 17:19 zzuqy 阅读(14) 评论(0) 推荐(0) 编辑
摘要: A 模拟题 首先跑一遍,得到校排名 然后对两个比赛的校排名进行合并即可 #include<bits/stdc++.h> using namespace std; int n,m; map<string,int>o; string s[10010]; vector<string>a,b; int ma 阅读全文
posted @ 2023-09-17 18:34 zzuqy 阅读(1353) 评论(1) 推荐(1) 编辑
摘要: 晚来了一小时,终榜14名,血亏 https://ac.nowcoder.com/acm/contest/61132 A题不会,我选择oeis n=int(input()) print(n*(n+1)*(n+2)//6%1000000007) python代码 B题考虑线段树f[x][i][0]表示如 阅读全文
posted @ 2023-07-12 17:23 zzuqy 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 首先我没参加机试,所以我都是口胡的做法,大概率能对吧 简单模拟,双指针或者什么的搞一搞,使用getline输入 string s; int n; void work() { getline(cin,s); n=s.length(); for(int i=0;i<n;i++) { int j=i; w 阅读全文
posted @ 2023-07-01 12:40 zzuqy 阅读(180) 评论(0) 推荐(0) 编辑
摘要: https://ac.nowcoder.com/acm/contest/59007 A 假设数字n有len位 则小len的长度,每个都有九个方案。 长度和len一样的,至少有n[0]-1种方案 n[0]n[0]n[0]...的这个方案暴力地跑一遍看看是不是小于等于n即可 #include<bits/ 阅读全文
posted @ 2023-05-26 21:53 zzuqy 阅读(187) 评论(0) 推荐(0) 编辑
摘要: A 考虑固定左端点,右端点向右走的过程中集合不断变大,但是只会变大m次。所以大胆向右跑,复杂度nmlog 用int128存一下集合状态牛客神机,没加优化的代码1.7秒就过了。。。赛场上这个代码还要优化 #include<bits/stdc++.h> using namespace std; type 阅读全文
posted @ 2023-05-22 18:24 zzuqy 阅读(439) 评论(0) 推荐(0) 编辑
摘要: https://codeforces.com/gym/104354 A 注意到a串最大长度也就26,所以可以枚举a串,判断剩下的串是不是回文的。 #include<bits/stdc++.h> using namespace std; typedef long long ll; ll read() 阅读全文
posted @ 2023-05-11 15:38 zzuqy 阅读(906) 评论(5) 推荐(1) 编辑
摘要: 1计算括号对 例如(()) 将其视作(a^1+a^2)*(a^-3+a^-4) 等于a^-3+2*a^-2+a^-1 这里a^-3的系数就是距离为3的左右括号的对数,a^-2的系数为距离为2的左右括号的对数 使用fft加速多项式乘法即可通过。 #include<bits/stdc++.h> usin 阅读全文
posted @ 2023-04-02 21:47 zzuqy 阅读(286) 评论(1) 推荐(0) 编辑
摘要: 比赛链接:CodeTON Round 2 (Div. 1 + Div. 2, Rated, Prizes!) 自闭了。A题是可选删前两个数中的一个,所以等价于在问a中是否存在长为m-1的后缀等于b的后缀,且b[1]在之前出现过就行。B可以贪心的维护当前选的点的区间,如果区间不得不改变就ans++,区 阅读全文
posted @ 2022-08-01 09:37 zzuqy 阅读(60) 评论(0) 推荐(0) 编辑
摘要: D2卡空间,但是最后两三分钟的时候优化代码过去了,甚至比D1用的空间还小。 不多不少的2000分,快乐。所以说,不要轻言放弃,万一最后过了呢。 阅读全文
posted @ 2022-07-19 08:46 zzuqy 阅读(79) 评论(0) 推荐(0) 编辑
摘要: D题是输出n的阶乘对ull自然溢出的结果。考虑到阶乘在乘的时候有很多2,所以算到某个数后2的次数达到了ull的2的数量就会永久变成0.于是等于0后直接break即可。 #include<bits/stdc++.h> using namespace std; int main() { unsigned 阅读全文
posted @ 2022-03-27 18:15 zzuqy 阅读(200) 评论(0) 推荐(0) 编辑
摘要: Dashboard - 2021 ICPC Gran Premio de Mexico 1ra Fecha - Codeforces 我前期做的还行,后期想不出来难题了,惭愧。 L - Leonel and the powers of two 一个递归的式子,根据题意模拟即可,开一个返回值为stri 阅读全文
posted @ 2021-09-11 19:35 zzuqy 阅读(429) 评论(0) 推荐(0) 编辑
摘要: B - Buffoon 读入n和vi,如果有vi大于v1输出N,v1大于等于其他vi输出S。 #include<bits/stdc++.h> using namespace std; typedef long long ll ; int read(){ int x;scanf("%d",&x);re 阅读全文
posted @ 2021-09-05 07:59 zzuqy 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 链接:https://ac.nowcoder.com/acm/contest/18462/F来源:牛客网 Dia and Ruby take turns playing a game using an n x n square chocolate bar. Each turn, the curren 阅读全文
posted @ 2021-08-26 19:14 zzuqy 阅读(274) 评论(0) 推荐(1) 编辑
摘要: 昨天进行了第二次月赛,紧张刺激,暴露了我的无数问题,八道题第七名的成绩也算是对我能力的体现了。 (要不是能看代码我就不写总结了) 考试前和柴嘉浩杨宇航等人聊了聊天,当时就发现腿有点软,有点激动了。电脑解锁之后bits/stdc++.h打错了两三遍。环境倒是没啥好调的,写一个python的A+B了事。 阅读全文
posted @ 2021-05-31 21:57 zzuqy 阅读(136) 评论(1) 推荐(0) 编辑
摘要: 重现赛过了三道题,我做出来了F题,其他题面都看了看没想到思路~ 挨个看题意看到了F,题意不就n个点的树,每个点有初始点权,需要维护m次操作:操作1:u到v的路径上的点权变成w。2:u到v的路径上的点权加w。3:u到v的路径上的点权乘w。4:求u到v的路径上的点权立方和。树上路径我会lca和树剖,要做 阅读全文
posted @ 2021-04-21 12:55 zzuqy 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 众所周知,我们一般应该有歧义的语句,但有歧义的语句也是有研究的乐趣的。 众所周知,printf从右向左“入栈”并边出栈边输出。 通过简单的控制变量法我发现: printf里的多个全局变量i=,i=...会正确的从右向左取每次i赋到的值输出。(所以以下我们都考察局部变量) printf里的多个局部变量 阅读全文
posted @ 2021-03-15 20:29 zzuqy 阅读(347) 评论(0) 推荐(0) 编辑
摘要: 链接 20年11月27日的比赛了,一共20题,当时写了十七题rank30,现在拿出来把它整理一下吧。 A找一下规律。前三行:第i行输出i-1个空格和V和2*(n-i)-1个空格和V和换行,最后一行输出3个空格和一个V,循环搞定。 #include<bits/stdc++.h> using names 阅读全文
posted @ 2021-01-18 15:24 zzuqy 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 多重循环的break: 对于多重循环,如果在最里面的循环写if+break并不能停掉全部的循环.有一种方法可以直接让多重循环停掉: for(int i=1;i<=m;i++) for(int j=1;j<=n;j++) for(int k=1;k<=q;k++) { if(A)//A是判断停下来的语 阅读全文
posted @ 2020-08-21 22:40 zzuqy 阅读(181) 评论(1) 推荐(0) 编辑
摘要: 先声明一个函数int rev(int x)返回x翻转后的数. 在回家的路上想到了是不是可以直接读入l,r,对于中间的每个数i,把rev(i)存进数组中,对数组排序,从小到大输出rev(a[i]),多快,还省事.用啥结构体啊还要写mycmp,给树神在QQ上说了说. 过了几个红绿灯,我突然想到了样例22 阅读全文
posted @ 2020-08-17 22:54 zzuqy 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 新高一第二期培训开始了,虽然不是我的班也来快乐了.早上来的时候见到了新高一去军训的场面,还挺感动的. 然后上午并没人问我,我就在校oj刷题,一上午整了三道,美滋滋. p1802一看就是一个动态规划.考虑每个树能取的状态和前一个树相关,而且不止与前一个树高度相关,还和前前一个树相关.所以我设了四个状态 阅读全文
posted @ 2020-08-17 13:19 zzuqy 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 一切的开始是同学们希望我找到一个自动打卡的方法.我想了一圈后发现可以写脚本模拟打卡. 用免root自动化助手,研究了半小时后发现真是简单,然而我的破红米四不支持点击屏幕,非要Android 7.0以上的才能做到.于是中午又用我的新手机(来自zz)试了半小时,最后成功了,发了个说说庆祝然而应该没有人会 阅读全文
posted @ 2020-04-05 20:41 zzuqy 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 高考报名的时候报完名的表要打印出来并签字交给学校.这个时候那些去网吧/只有电脑没打印机的人就会感到难办,毕竟打印机普及率低,去打印店登录平台并打印又害怕信息泄露,这个时候该怎么办呢? 首先我们需要用谷歌浏览器登录报名,然后像模像样的点"打印".在弹出的窗口中调整"目标打印机". 弄成这个 然后点保存 阅读全文
posted @ 2019-12-08 14:22 zzuqy 阅读(903) 评论(1) 推荐(0) 编辑
摘要: 文化课选手见到了一道题。 f(n)表示正整数n的所有因数中最大的奇数,例如:12的因数有1,2,3,4,6,12,则f(12)=3;21的因数有1,3,7,21,则f(21)=21. 考虑这个函数的性质? 一.f(n)=f(2n). 二. f(n/2),n为偶数时 f(n)= n,n为奇数时. 三. 阅读全文
posted @ 2019-12-03 21:22 zzuqy 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 123 阅读全文
posted @ 2019-08-17 13:52 zzuqy 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 更具体的. 一共考了四次重大的考试吧. 2018 HAOI爆零.啥都不会,没啥好说的. 2018 NOIP day1 T3挂掉.用Mingw写代码,忘了加万能库就直接交了.丢了55分. 2019 NOI WC T3打错文件名.oldcomputer1.out ~ oldcomputer5.out写成 阅读全文
posted @ 2019-04-03 15:07 zzuqy 阅读(444) 评论(0) 推荐(0) 编辑
摘要: 昨天还是前天,我看了一眼题,说:SPFA跑负环! 然后看了看我的代码,发现好像不是很正确.看了看我的时间和谷神的时间,好像很优秀啊. 枚举点进去dfs,对于点x,如果能更新连向的点的dis就更新,并判断是否"来过"这个点了.如果来过说明是在一个负环里了,return并输出"YES",否则dfs这个点 阅读全文
posted @ 2019-03-20 19:48 zzuqy 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 干网络流! 之前刷过一点校oj的网络流,现在忘得差不多了,开始在loj刷一下网络流24题。 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int MAXN=210,MAXM=5010; char bu 阅读全文
posted @ 2019-03-18 18:07 zzuqy 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 我又开新坑啦:QTREE系列. 刚开始以为QTREE就是LCT,然后发现第一题是个树链剖分,于是以为QTREE就是树链剖分.写完后发现第二题是个树上倍增. 综上,QTREE就是树上询问的一些题. 来源:http://172.20.6.3/Categories.asp?page=11&order=AS 阅读全文
posted @ 2019-03-15 15:30 zzuqy 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 不,你想多了,我并没有发明. 动态树?我会LCT! 然后加上在线和可持久化的前缀,这道题就变得面目可憎了起来. 对于一个森林,刚开始没有边.你需要维护下面的操作. 操作1:给定x,y,令x的父亲为y. 操作2:给定t,x,k,求第t个版本中x的第k个祖先.如果没有输出0. 操作3:给定t,x,求第t 阅读全文
posted @ 2019-03-08 17:32 zzuqy 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 线段树合并就是把两个维护相同区间的线段树合并到一块. 什么叫维护相同区间?就是每次操作的最大的那个区间是一样的,根节点维护的区间一样,根节点的左儿子维护的也一样,右儿子维护的也一样,左儿子的左儿子.... 显然只需要建树的时候都建成一样的就好了.一般我们采用动态开点. 由于线段树合并的均摊复杂度是l 阅读全文
posted @ 2019-03-08 06:45 zzuqy 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 这是一道很有意思的题.不要被国家集训队的标签吓到,我们仔细思考跳的时候的性质. 玩过跳棋的应该都可以接受题意. 可以把每次'跳'分为两种:一种是中间的棋子以两边的棋子为'中轴棋子'跳,显然想向哪跳就向哪跳,只会跳过一个棋子.一种是两边的棋子向中间跳.这种可能不能跳:左中和中右间的距离相同,无法再跳. 阅读全文
posted @ 2019-03-07 07:53 zzuqy 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 树的欧拉序指从根节点进行dfs(先序遍历),每次到达某个点的时间和离开这个点的时间.它可以将树上的问题转换成序列问题进行处理. 比如对于p1539的样例可以这样解释. 每个点的左边数字表示进入该点的"时间",右边的数字表示离开该点的"时间".对欧拉序的介绍就到这里. 然后来看一个例题: 先读入边,跑 阅读全文
posted @ 2019-02-24 09:04 zzuqy 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 终于A掉了noip2016的Day2T3,至此,2015和2016的NOIP题都刷完了. 写一下这道题卡常的过程吧. 真的只需要卡常啊. m不用管了,反正奔着AC去的. 考虑怎么搜索?我们可以n^2的枚举所有的抛物线,再O(n)的枚举这条抛物线可以打掉哪些小猪.用一个二进制数存一下状态. 然后把所有 阅读全文
posted @ 2019-02-23 21:22 zzuqy 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 多方查找找到了2008年陈丹琪引入CDQ分治的 从《Cash》谈一类分治算法的应用.doc ,CDQ分治的名字由来也是她. 什么叫CDQ分治呢?来看一道二维数点题p1357. 看了一眼题,我会树状数组! 现在拿它来引入CDQ分治.先全部按照x排序,由于区间[mid+1,r]不会再对区间[l,mid] 阅读全文
posted @ 2019-02-19 16:27 zzuqy 阅读(917) 评论(0) 推荐(0) 编辑
摘要: 首先,本博客只供娱乐,请不要用于大型考试中.如果被告了也不要怪我. 考虑评测的原理:10组或20组或更多的数据放在data文件夹里,lemon每次用一个.in文件读入到你的程序里,你的程序会跑出来答案到.out里,lemon再与data里的.out文件进行比对. 而这个可能称得上算法的东西主要是通过 阅读全文
posted @ 2019-02-17 08:14 zzuqy 阅读(3040) 评论(0) 推荐(2) 编辑