- 博客(29)
- 收藏
- 关注
原创 常见数列求和
等差,等比等差:Sn=a1n+n(n−1)d2S{n}=a_{1}n+\frac{n(n-1)d}{2}Sn=a1n+2n(n−1)dSn=dn22+(a1−d2)nS_{n}=\frac{dn^{2}}{2}+(a_{1}-\frac{d}{2})nSn=2dn2+(a1−2d)nSn=n∗(a1+a2)2S_{n}=\frac{n*(a_{1}+a_{2})}{2}Sn=...
2019-08-22 19:42:06
2697
原创 HDU_6579 19/暑期多校
前缀线性基题目信息:题目连接 10+(60×)大意: 给一个数列,有两种操作 1.1.1. 在数列的末尾加入一个数 2.2.2. 给一个区间,询问区间内若干个数字的异或和最大值。强制在线。思路:若干个数的最大异或和,显然用线性基来做。但是这里是区间操作,就需要一种类似前缀和的东西来维护当前位的线性基。考虑维护每个点的前缀线性基,线性基里将靠右的数字尽可能放高位,就是存一个额外存一个位...
2019-08-20 10:44:56
162
原创 codeforce_495B
最简即最难题目信息:题目连接 5+(10×)题目大意: 给你 a,ba,ba,b 问 a≡b(modx)a \equiv b(modx)a≡b(modx)中 ,xxx 有几个解。解题思路: 刚开始瞎想一通,什么线型方程,搞半天。最后问了学姐,这不就是 a−kx=ba-kx=ba−kx=b 吗。a−b=kx,x∣(a−b)a-b=kx,x|(a-b)a−b=kx,x∣(a−b),找到 aa...
2019-08-20 09:00:13
213
原创 codeforce_486D
树形DP,重复点处理题目信息:题目连接 24+26+(34×)大意: 给你一棵树和一个数 ddd ,定义一个集合 SSS,SSS 满足 1.1.1.非空 2.2.2.集合内的点可以直接或者间接相连 3.3.3.集合内的最大值maxmaxmax与其它的点值差小于ddd。问有多少个这样区间SSS。解题思路:考虑最大值确定的情况,显然可以dfsdfsdfs找出最大的一个满足情况的集合。这个集...
2019-08-19 22:51:43
175
原创 18_ccpc_杭州_B Master of Phi
当代大学生的第一道数论题2018年CCPC杭州站B题,Master of Phi 题目地址题目大意:给你 F(x)=∑d∣nnφ(d)(nd)\large F(x) = \sum_{d|n}^{n}\varphi(d)(\frac{n}{d})F(x)=∑d∣nnφ(d)(dn) module 998244353, n 以唯一素数分解的形式给出,求 F(x)\large F(x)F...
2019-08-13 09:42:27
181
原创 #10013. 「一本通 1.2 例 3」曲线
题目连接大意:给 n 个 ,构造一个 ,问你 S(x) 在区间 [0,1000]上的最小值。思路:三分。为什么能呢? 主要是因为这题的数据比较特殊。a>=0,是凸函数(国际定义),即使 a==0函数退化为一次函数。最后依然是一凸函数。 如右图红色部分,最后的函数一定为一个凸函数或者是单调函数,故三分。#include <bits/stdc++.h>...
2019-05-08 21:36:45
239
原创 #10011. 「一本通 1.2 例 1」愤怒的牛
题目链接大意:有 n 间牛栏 m 头牛,问你牛之间可行的最大的最小间隔是多少。思路:二分答案板子。#include <bits/stdc++.h>using namespace std;const int maxn = 1e5+500;int mp[maxn];int n,m,k;bool fid(int x){ int fl=0,fi=-1; ...
2019-05-08 19:46:48
319
原创 记不住的
priority_queue<>bool operator<(Node a, Node b){//返回true时,说明a的优先级低于b //x值较大的Node优先级低(x小的Node排在队前) //x相等时,y大的优先级低(y小的Node排在队前) if( a.x== b.x ) return a.y> b.y; return a.x> b.x; }...
2019-05-06 19:54:00
104
原创 #10056. 「一本通 2.3 练习 5」The XOR-longest Path
#10056. 「一本通 2.3 练习 5」The XOR-longest Path大意:给你一个 n 各节点的带边权树,问你最大的路径异或值。思路:dfs一遍求根节点到个点的路径异或值 T[i],则 a->b的路径异或值为T[a]^T[b]。然后异或字典树。#include <bits/stdc++.h>using namespace std;const in...
2019-05-03 12:25:24
250
原创 #10052. 「一本通 2.3 练习 1」Immediate Decodability
#10052. 「一本通 2.3 练习 1」Immediate Decodability大意:给一些数字串,问是否有数字串是另一数字串的前缀。 字典树板子#include <bits/stdc++.h>using namespace std;const int maxn = 500;int tre[maxn][11],sz;struct node{ cha...
2019-05-02 10:04:34
256
原创 #10051. 「一本通 2.3 例 3」Nikitosh 和异或
#10051. 「一本通 2.3 例 3」Nikitosh 和异或大意:给你一串数字,求最大的 R1 < L2.思路:首先想到可以求异或前缀和,这样就可以 O(1) 的求出区间的异或值了。 设 L[i] 为考虑前 i 位最大的区间异或值, R[i] 为考虑 i 位以后的最大区间异或值。那么遍历所有 L[i]+R[i+1] 最大值就是答案。L[i],R[i...
2019-05-02 09:48:53
231
原创 #10050. 「一本通 2.3 例 2」The XOR Largest Pair
#10050. 「一本通 2.3 例 2」The XOR Largest Pair大意:给 n 个数,问任取两个数最大的异或和是多少。思路:二进制字典树,注意要从高位开始建树,不然无法贪心。#include <bits/stdc++.h>using namespace std;const int maxn = 1e5+500;int tre[maxn*32][2],...
2019-05-01 10:34:27
286
原创 #10049. 「一本通 2.3 例 1」Phone List
#10049. 「一本通 2.3 例 1」Phone List大意:给 n 个数字串,问是否有 s 串是 t 串的前缀思路:把串有长到短排序,建字典树,遇到结束点为已经见过的输出。#include <bits/stdc++.h>using namespace std;const int maxn = 1e5+500;int tre[maxn<<2][11...
2019-05-01 09:47:32
231
原创 #10119. 「一本通 4.2 例 1」数列区间最大值
#10119. 「一本通 4.2 例 1」数列区间最大值(题目链接)RMQ板子题#include <bits/stdc++.h>using namespace std;const int maxn = 1e5+500;int mp[maxn];int mx[maxn][31];int n,m;void ini(){ for(int i=0;i<log...
2019-04-06 14:34:07
257
原创 #10116. 「一本通 4.1 练习 1」清点人数
#10116. 「一本通 4.1 练习 1」清点人数(题目链接)树状数组板子题#include <bits/stdc++.h>using namespace std;const int maxn = 5e5+500;int sum[maxn];int mp[maxn];int n,m;int low(int x){ return x&(-x);}...
2019-04-06 11:00:46
559
原创 #10128. 「一本通 4.3 练习 2」花神游历各国
#10128. 「一本通 4.3 练习 2」花神游历各国(题目链接)大意:区间开根号,询问区间和laz 标记区间是否全为 0,1扩展 % 运算是最坏为 n/2的#include <bits/stdc++.h>using namespace std;const int maxn = 1e5+500;#define ll long long#define ls r...
2019-04-06 10:29:48
536
原创 #10002. 「一本通 1.1 例 3」喷水装置
#10002. 「一本通 1.1 例 3」喷水装置 (题目链接)大意: 给出一个矩形花园,在中轴线上有一些洒水器,问最少开几个洒水器就可以覆盖整个花园。勾股定理求一下有效区间,然后按区间 L 端sort,谈心最右可达距离。 #include <bits/stdc++.h>usin...
2019-02-24 19:47:51
321
原创 倍增法求LCA
下图是这篇文章的思路导航,本人将按照这个模式学习该算法。此文为我的学习笔记,如有差错感谢大家斧正。一,最初的目的 显然就是求LCA了,LCA是啥? 中文解释为树上两点的最近公共祖先。有一个小bug,当两个点在同一条支上的时候,LCA是可以为其中一个点的。也就是说,LCA是可以包括着两个点本身的。并不是严格意义上的祖先。 这里就加入一道板子题了:(题目链接P3379 【模...
2019-02-24 13:02:30
196
转载 Graphviz 学习资料
为了完成算法博客,发现制作一些树形的逻辑插图非常的耗时间。为提高工作效率就找了一下趁手武器(其实就是划水,又在假学习了)下面是转载的两篇博客,分别是下载和使用教程。一,Graphviz Windows环境安装:官网下载地址 (转载自发言稿的 Graphviz安装及简单使用)二,Graphviz入门:(转载自czw94)划水结束,开始干活了。...
2019-02-24 10:21:08
172
转载 转载 - 也谈目前大学生的学习和就业
转载 - 也谈目前大学生的学习和就业以下内容转载自月光博客 [ http://www.williamlong.info/ ] 2009年占奇博客投递了一份稿件,讲述了大学生就业难以及大学教育体制僵化的问题,我看后也有一些感触,因为我也是从大学过来的,我也经历过那样的教育体制,我觉得,大学生面对未来的工作和就业,不应该怨天尤人,大学并不是技校,大学生所学的课程永远也不可能满足目前企业公司的要...
2019-02-24 09:06:38
242
转载 TT打字指南
TT打字指南知乎大佬提供的下载链接如何练习编程的手速? - 韦易笑的回答 - 知乎基本原则基本手势是,左手小指、无名指、中指、食指分别放在A, S, D, F上,右手小指、无名指、中指、食指分别放在;, L, K, J上。一般键盘的F与J键上都有小的突起,可以用此迅速地定位好手势。左小指负责的键位有:A, Z, Q, 1, !, left shift左无名指负责的键位有:S...
2019-02-23 09:39:34
3408
原创 #10001. 「一本通 1.1 例 2」种树
#10001. 「一本通 1.1 例 2」种树(题目链接)大意:给一些区间,每个区间都需要种一定的树,问最少种多少。(3e4)区间覆盖贪心问题自己没想出来细节该如何做,贪心思路到是比较简单,就是要优先在区间重叠的地方种上树。但其实好有一个关键性的步骤,就是要对区间结尾进行由大到小排序,在一个重叠的区间上还需要尽量的靠右端种。上面图片中的黑色重叠区间中,叉点就没有对号点优。...
2019-02-21 10:59:56
298
原创 轻重搭配
计蒜客:轻重搭配(题目链接)大意:有 N 个人要买票,一个人一张,但动物园出了一个活动。一个体重为 的人与一个体重大于等于 的人可以共用一张票。问最少要买几张票? 范围 5e5.先是想到要贪心 ,让最瘦的与最胖的组,显然不对。这样会导致一些不那胖的人没法组。然后就是要最瘦的找一个可以和他组的中的最瘦的,也是对的。最后看了一下正解,考虑到最多组 n/2 对,于是分为前后两段,前...
2019-02-19 15:14:58
837
原创 #10000. 「一本通 1.1 例 1」活动安排
#10000. 「一本通 1.1 例 1」活动安排(题目链接)区间不能重叠的贪心贪心基础题,按电影结束的时间贪心就完了。#include <bits/stdc++.h>using namespace std;const int maxn = 1e3+500;pair<int,int> mp[maxn];int n,m;int main(){ ...
2019-02-19 12:54:33
318
原创 python爬取codeforce题目
老oj SGU搬家到codeforce上了为了做题方便就将题目爬取下来了 不会将HTML文件PDF化 但只需Ctrl+p打印即可题目代码是老网站上的格式不是很好只能这样了下面上码(只能爬取SGU板块的题,其他的题csdn都有)# -*- coing:utf-8 -*-import requestsimport urllib.requestfrom bs4 import Bea...
2018-12-26 20:20:04
831
原创 2018/4/18赛前心情调整
最进挺烦闷得,没目标啊,队友退出啊,感觉自己越来越懒了。应该和自己的自我评价有关,对自己一直是用贬低,惩罚来确定自我定位的。不时会陷入失败,低落,堕落的死循环里。 看了宇哥的博客,对宇哥的个性,和人聊得开,挺羡慕的。还顺便搜了搜那场比赛的题,发现我和从大二才开始学四个月就上比赛的宇哥实力差不多,自愧不如,感触挺大的。谢谢宇哥的博客。此外还看了张图:以下图片来自知乎用户 wetashi...
2018-04-18 23:30:48
148
转载 闰年
内容来自百度问答公历闰年计算(按一回归年365天5小时48分45.5秒)①非整百年能被4整除的为闰年。(如2004年就是闰年,2100年不是闰年)②能被400整除的是闰年。(如2000年是闰年,1900年不是闰年)③对于数值很大的年份,这年如果能被3200整除,并且能被172800整除则是闰年。如172800年是闰年,86400年不是闰年(因为虽然能被3200整除,但不能被172800整除...
2018-03-06 19:53:40
198
原创 路径压缩的活用
题目大意:有n个板凳,m个人,每个人都有一个想坐的位置。为了体现先到先得的道理,先到的人会坐在他想坐的位置上, 后到的人只能选择向后移动直到有空位坐下。问那些座位上坐了人。(0<=m<=n<=1e5)input: 8 4 1 2 1 5output: 1 1 1 0 1 0 0 0分隔线-----------...
2018-03-02 16:00:59
283
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人