摘要: ###第一部分思考过程 一般写二分的思考顺序是这样的:首先通过题目背景和check(mid)函数的逻辑,判断答案落在左半区间还是右半区间。 左右半区间的划分方式一共有两种: 中点mid属于左半区间,则左半区间是[l, mid],右半区间是[mid+1, r],更新方式是r = mid;或者 l = 阅读全文
posted @ 2020-08-29 15:07 邦的轩辕 阅读(57) 评论(0) 推荐(0)
摘要: 支持两个操作,插入和查询; #include<bits/stdc++.h> using namespace std; const int N=100100; int son[N][26]; int cnt[N]; int idx; char op[2]; char str[N]; void inse 阅读全文
posted @ 2020-08-26 10:17 邦的轩辕 阅读(36) 评论(0) 推荐(0)
摘要: 题目描述 静态维护区间最大值与最小值的差 样例 输入 6 3 1 7 3 4 2 5 1 5 4 6 2 2 输出 6 3 0 思路 我们可以分别维护区间最大值,区间的最小值, 分别记为$maxst[i][j],minst[i][j]$ 注意 查询的时候右区间要记得+1,否则右面的那个区间可能会越界 阅读全文
posted @ 2020-08-25 14:12 邦的轩辕 阅读(239) 评论(0) 推荐(0)
摘要: ###题意 给定p,q,b,问p,q是否表示成b进制下的有限小数位 数据范围$p,q,b<=10^{18}$ ###思路 对于约分后的p/q。我们只关心1/q是否能够在b进制下表示为有限表现即可 把1/q,换成小数形式,例如1/8=0.125,像整数转换进制一样,小数转换进制也是不断地除以基底,而小 阅读全文
posted @ 2020-08-25 09:02 邦的轩辕 阅读(173) 评论(0) 推荐(0)
摘要: 祝宁AKIOI ###流水账 看数据范围真的很重要,一开始还想模拟一下的,但是看到数据范围,果断放弃,数据范围为 $1<=a<=b<=10^{100}$ ###简化一下题意 题目意思就是求$GCD(a+1,a+2,a+3,......b);$ 其实两个连续数的GCD就是1,我们可以用辗转相除法证明一 阅读全文
posted @ 2020-08-21 20:22 邦的轩辕 阅读(465) 评论(0) 推荐(0)
摘要: 祝宁AKIOI 注意 1.n<=1e15,所以循环i要开long long 2.注意循环跳出条件 #include<bits/stdc++.h> using namespace std; long long num[20000000]; long long cnt; int main() { lon 阅读全文
posted @ 2020-08-21 19:34 邦的轩辕 阅读(111) 评论(0) 推荐(0)
摘要: 控制符 说明 %d 按照十进制整型数据的实际长度输出 %ld 输出长整型 %md m 为指定的输出字段的宽度。如果数据的位数小于 m,则左端补以空格,若大于 m,则按实际位数输出。 %u 输出无符号整型(unsigned)。输出无符号整型时也可以用 %d,这时是将无符号转换成有符号数,然后输出。但编 阅读全文
posted @ 2020-08-17 18:39 邦的轩辕 阅读(179) 评论(0) 推荐(0)
摘要: 博弈论 ##oi中的博弈论 oi中的博弈论主要研究博弈游戏,本质上是平等组合游戏 什么是“平等组合游戏” 两人游戏 有一个状态集,通常是有限的 规定哪些状态的转移是允许的 所有的规定对两个人来说是一样的 两个人轮流走步 有一个终止状态,到达终止状态后游戏即告终止 游戏可以在有限的步内终止 ##开头及 阅读全文
posted @ 2020-08-03 09:23 邦的轩辕 阅读(336) 评论(0) 推荐(0)
摘要: fabs()和abs()区别 相同点: 1.都是获取绝对值 2.头文件都需调用#include或者是<math.h> 不同点: 函数名: abs 功 能: 求整数的绝对值 用 法: int abs(int i); 返回的是|x|的值 #include<bits/stdc++.h> using nam 阅读全文
posted @ 2020-08-02 09:56 邦的轩辕 阅读(906) 评论(0) 推荐(1)
摘要: 博弈的王道——『Sprague-Grundy函数和Sprague-Grundy定理』 SG函数: ​ 首先定义mex(minimal excludant)运算,这是施加于一个集合的运算,表示最小的不属于这个集合的非负整数。例如mex{0,1,2,4}=3、mex{2,3,5}=0、mex=0。 ​ 阅读全文
posted @ 2020-08-01 20:04 邦的轩辕 阅读(138) 评论(0) 推荐(0)
摘要: ![](https://img2020.cnblogs.com/blog/1930231/202007/1930231-20200730152945529-1564577098.png) 阅读全文
posted @ 2020-07-30 15:47 邦的轩辕 阅读(73) 评论(0) 推荐(0)
摘要: 洛谷p1403 ##题目描述 小联最近在研究和约数有关的问题,他统计每个正数 N 的约数的个数,并以 f(N) 来表示。例如 12 的约数有 1,2,3,4,6,12因此 $f(12)=6$下表给出了一些 f(N) 的取值: \(N\) 1 2 3 4 5 6 \(F(N)\) 1 2 2 3 2 阅读全文
posted @ 2020-07-28 11:41 邦的轩辕 阅读(146) 评论(0) 推荐(1)
摘要: ##前导 在处理字符串的时候,我们难免会遇到空格 这个时候scanf函数就不再管用,因为其在读入空格,换行符,tab键都会认为输入结束 所以这个时候我们就需要使用gets函数 gets函数可以接收空格 ##两种函数的异同点 scanf( ),gets( ) ###相同点 字符串接收后会自动加\0 # 阅读全文
posted @ 2020-07-28 09:28 邦的轩辕 阅读(130) 评论(0) 推荐(0)
摘要: #字符串匹配 转载,作者洛谷网校 阮行止 https://www.zhihu.com/question/21923021/answer/1032665486 ###前导 这里用到的数组下标都是从0开始的 ###1.思想 最朴素的算法就是一个一个地进行比较,但是有一种算法,它将信息运用到了极致,**它 阅读全文
posted @ 2020-07-27 17:15 邦的轩辕 阅读(115) 评论(0) 推荐(0)
摘要: 开始我们的组合数学之旅 错位排序 设${a1,a2,a3,a4,a5,....an}\(是\){1,2,3,4,5,...n}$ \(Dn=n!*(1-\frac{1}{1!}+\frac{1}{2!}-\frac{1}{3!}...)\) 看一道水题 书架上有6本书,编号分别为1~6,取出来再放回 阅读全文
posted @ 2020-07-25 19:21 邦的轩辕 阅读(433) 评论(0) 推荐(0)
摘要: 如果$a *b \equiv 1(mod p)$ 我们就说a和b在mod p的意义下互为乘法逆元,和倒数的概念比较类似 逆元记做$a=inv(b)$ 逆元有什么用?我们常常会遇到要求结果对一个大质数p取模因为答案很大,出题人为了不麻烦大家写高精 就采取了这样的方法**(出现大的质数是不是就在暗示要逆 阅读全文
posted @ 2020-07-24 21:23 邦的轩辕 阅读(194) 评论(0) 推荐(0)