- 博客(117)
- 资源 (3)
- 收藏
- 关注
原创 「第一弹」Codeforces杂题
「第一弹」Codeforces杂题CF559D题意给出一个nnn个点的凸包,等概率选则该凸包点集的大于等于三的子集形成一个新凸包,问该凸包内部整点的期望值。3≤n≤105,−109≤xi,yi≤1093\leq n\leq 10^5,-10^9\leq x_i,y_i\leq 10^93≤n≤105,−109≤xi,yi≤109题解皮克定理:S=n+s2−1S=n+\frac{s}...
2019-11-10 18:52:32
332
原创 CF990G. GCD Counting
题意有nnn个点的一棵树,每个点有一个权值,对于每一个iii,问g(x,y)=ig(x,y)=ig(x,y)=i的(x,y)(x,y)(x,y)对数(x≤y)(x\leq y)(x≤y).g(x,y)g(x,y)g(x,y)表示xxx到yyy的路径上的所有aia_iai的gcdgcdgcd。题解Tip1点分治:对每一个点统计到各个点的gcdgcdgcd,用map存一下。点分治自己复杂度...
2019-08-03 17:43:44
372
原创 欧拉公式详解-震惊!小学生也能看懂?
文章目录欧拉公式前言前置知识幂法则证明加法则积法则证明链式法则证明通过幂法则、链式法则推到商法则三角函数的导数证明高阶导数拓展(无关本文)指数函数求导尝试求导e的出现a^x的导数隐函数求导泰勒级数由来麦克劳林展开式本文正题欧拉公式前言今天博主在b站上看完了一个视频。此视频介绍了欧拉从定义π\piπ、以欧拉命名、伯努利发明的数eee、sinsinsin和coscoscos以及eie^iei、e...
2019-03-03 15:08:49
4766
2
转载 平面上的最接近点对
平面上最接近点对一维最接近点对问题:使用分治求解:二维最接近点对问题:平面上的最接近点对题目描述输入输出样例输入样例输出平面上最接近点对一维最接近点对问题:#include <cstdio>#include <algorithm>using namespace std;const int inf=0x3f3...
2018-05-10 21:09:23
1930
原创 [SCOI2007]k短路
题目描述有 nnn 个城市和 mmm 条单向道路,城市编号为 111 到 nnn 。每条道路连接两个不同的城市,且任意两条道路要么起点不同要么终点不同,因此 nnn 和 mmm 满足 m≤n(n−1)m≤n(n−1)m \le n(n-1) 。给定两个城市a和b,可以给a到b的所有简单路(所有城市最多经过一次,包括起点和终点)排序:先按长度从小到大排序,长度相同时按照字典序从小到大排序。你的任...
2018-05-02 20:16:24
632
原创 因子和
题目描述输入两个正整数a和b,求ab的因子和。结果太大,只要输出它对9901的余数。输入输出格式输入格式:仅一行,为两个正整数a和b(0≤a,b≤50000000)。输出格式:a^b的因子和对9901的余数。输入输出样例输入样例#12 3输出样例#115题解根据约数和定理: 若n=∏i=1k=pa11×pa22×pa3...
2018-04-27 18:02:48
1182
转载 异或运算的神奇运用
Xor运算是位运算的一种,和And、Or运算类似,假如a、b都是布尔变量,则a Xor b被定义为:a、b相异则为真(所以中文名字叫做异或),a、b相同则为假。1其真值表为:1 Xor 0 = 10 Xor 1 = 11 Xor 1 = 00 Xor 0 = 01234众所周知,位运算也可以用于两个数之间,其定义就是把这两个数转化为二进制,然后一位一位的进行位运算。比
2018-03-26 18:35:00
1488
转载 Menci's Code Style for OI
本文介绍本人在 OI 中常用的代码规范。概览所有的#include指令必须放置于整个程序开头。不应该使用using namespace std;。main函数应该放置于整个程序末尾。不应该使用int代替bool表示逻辑值。预编译指令#include中,C 标准库头文件必须使用c前缀,而不是.h后缀。#include中,C 标准库头文...
2018-03-24 16:01:09
684
原创 永无乡
2733: [HNOI2012]永无乡Time Limit: 10 Sec Memory Limit: 128 MB Submit: 4538 Solved: 2429 [Submit][Status][Discuss] Description永无乡包含 n 座岛,编号从 1 到 n,每座岛都有自己的独一无二的重要度,按照重要度可 以将这 n 座岛排名,名次用 1 到 n 来表示...
2018-03-12 19:27:49
322
原创 矩阵取数游戏
题目描述帅帅经常跟同学玩一个矩阵取数游戏:对于一个给定的n*m的矩阵,矩阵中的每个元素aij均为非负整数。游戏规则如下:1.每次取数时须从每行各取走一个元素,共n个。m次后取完矩阵所有元素;2.每次取走的各个元素只能是该元素所在行的行首或行尾;3.每次取数都有一个得分值,为每行取数的得分之和,每行取数的得分 = 被取走的元素值*2^i,其中i表示第i次取数(从1开始编号);4.游戏结束总得分为m次取
2018-03-12 07:56:31
373
原创 观光公交
题目描述风景迷人的小城Y 市,拥有n 个美丽的景点。由于慕名而来的游客越来越多,Y 市特意安排了一辆观光公交车,为游客提供更便捷的交通服务。观光公交车在第 0 分钟出现在 1号景点,随后依次前往 2、3 、4 ……n 号景点。从第 i 号景点开到第 i+1 号景点需要 Di 分钟。任意时刻,公交车只能往前开,或在景点处等待。设共有m 个游客,每位游客需要乘车1 次从一个景点到达另一个景点,第i 位游
2018-03-11 20:26:29
235
原创 抓鱼
抓鱼 (Fish) 题目描述 “抓鱼”是一款游戏,全名叫做“Ships catch fish on a river”。 游戏中河被抽象成一个宽度为1,长度为 N 的矩形,从左到右每一个格子被从1~ N 标号。 每个格子中都有一些鱼,第 i 格有 ai 条鱼。 河上有 M 条船,每条船都有一个固定的长度 Di ,且船只能停在整数格上。两艘船之间不 能有重叠,比如一艘船停在1到5格,还有一艘
2018-03-11 17:45:09
541
原创 皇后游戏
题目背景还记得 NOIP 2012 提高组 Day1 的国王游戏吗?时光飞逝,光阴荏苒,两年过去了。国王游戏早已过时,如今已被皇后游戏取代,请你来解决类似于国王游戏的另一个问题。题目描述皇后有 n 位大臣,每位大臣的左右手上面分别写上了一个正整数。恰逢国庆节来临,皇后决定为 n 位大臣颁发奖金,其中第 i 位大臣所获得的奖金数目为第i-1 位大臣所获得奖金数目与前 i 位大...
2018-03-11 11:49:18
1277
3
原创 子矩阵
题目描述给出如下定义:子矩阵:从一个矩阵当中选取某些行和某些列交叉位置所组成的新矩阵(保持行与列的相对顺序)被称为原矩阵的一个子矩阵。 例如,下面左图中选取第2、4行和第2、4、5列交叉位置的元素得到一个2*3的子矩阵如右图所示。9 3 3 3 99 4 8 7 41 7 4 6 66 8 5 6 97 4 5 6 1的其中一个2*3的子矩阵是4 7 48...
2018-03-09 15:15:38
10582
原创 立体图
题目描述小渊是个聪明的孩子,他经常会给周围的小朋友们将写自己认为有趣的内容。最近,他准备给小朋友们讲解立体图,请你帮他画出立体图。小渊有一块面积为m*n的矩形区域,上面有m*n个边长为1的格子,每个格子上堆了一些同样大小的积木(积木的长宽高都是1),小渊想请你打印出这些格子的立体图。我们定义每个积木为如下格式,并且不会做任何翻转旋转,只会严格以这一种形式摆放:每个顶
2018-03-08 19:50:54
389
原创 CF933B A Determined Cleanup
B. A Determined Cleanup time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard output In order to put away old things and welcome a fresh new year, a tho
2018-03-07 19:09:56
331
转载 树的重量
题目描述树可以用来表示物种之间的进化关系。一棵“进化树”是一个带边权的树,其叶节点表示一个物种,两个叶节点之间的距离表示两个物种的差异。现在,一个重要的问题是,根据物种之间的距离,重构相应的“进化树”。令N={1..n},用一个N上的矩阵M来定义树T。其中,矩阵M满足:对于任意的i,j,k,有M[i,j] + M[j,k] >= M[i,k]。树T满足:1.叶节点属于集
2018-03-06 17:54:26
736
原创 深入浅出乘法逆元
浅析乘法逆元1.模的运算律2.定义3.求解3.1费马小定理13.2扩展欧几里得算法3.3线性求解浅析乘法逆元1.模的运算律先来一波模运算律表: 运算律 内容 交换律 (a+b)%p=(b+a)%p(a+b)%p=(b+a)%p(a+b)\%p=(b+a)\%p(a×b)%p=(b×a)%p(a×b)%p=(b×a)%p...
2018-03-01 13:12:08
774
原创 扩展欧几里得算法
在讲解扩展欧几里得之前我们先回顾下辗转相除法: gcd(a,b)=gcd(b,a%b)gcd(a,b)=gcd(b,a%b)gcd(a,b)=gcd(b,a\%b)当a%b==0a%b==0a\%b==0的时候b即为所求最大公约数 好了切入正题: 简单地来说exgcd函数求解的是ax+by=gcd(a,b)ax+by=gcd(a,b)ax+by=gcd(a,b)的最小正整数解。根据数论的相关...
2018-02-28 18:12:45
258
转载 markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I...
2018-02-25 21:01:34
111
原创 区间DP的四边形不等式优化
今天上课讲DP,所以我学习了四边形不等式优化(逃 首先我先写出满足四边形不等式优化的方程 f(i)(j)f(i)(j)f\left(i\right)\left(j\right)
2018-02-25 20:55:30
390
转载 Latex
如果用写代码的方式创造公式的话,那就可以装逼了!本文是我翻译自LaTex数学符号手册在浏览器中使用Latex,使用Mathjax库MathJax是一套开源js库,它并不是将公式转化为一个图片,而是在浏览器端通过位置控制、字体、大小来显示一个公式。支持LaTeX数学公式。对于hexo博客框架:首先更改next主题中的mathjax库的URL,MathJax2.4版有些许b
2018-02-25 20:46:21
436
转载 二进制小技巧
目录(?)[-]xx-1xx1xx1x-xx&(x-1)现在令 x = 10101000,接下来我们算一下 x&(x-1)的结果。首先我们回忆一下二进制减法的规则:0-0=1-1=0 1-0=1 0-1=1(向高位借位) 例如,(11000011)2-(00101101)2的算式如下: 11000011 被减数 00101101 减数
2018-02-25 14:10:32
623
转载 LaTeX 各种命令,符号
函数、符号及特殊字符声调语法效果语法效果语法效果\bar{x}latex数学符号表(2)" style="border:none; outline:0px; max-width:100%; margin:0px 0px 24px">\acute{\eta}latex数学符号表(2)" sty
2018-02-24 19:17:14
1455
转载 Hash详解
对于Hash,我们是怎样来处理冲突的。现在就来介绍一些经典的Hash冲突处理的方法。主要包括 (1)开放地址法 (2)拉链法 (3)再哈希法 (4)建立公共溢出区 (1)开放地址法 基本思想:当发生地址冲突时,按照某种方法继续探测Hash表中其它存储单元,直到找到空位置为止。描述如下
2018-02-23 10:32:56
538
原创 [SCOI2005]骑士精神
题目描述输入输出格式输入格式:第一行有一个正整数T(T输出格式:对于每组数据都输出一行。如果能在15步以内(包括15步)到达目标状态,则输出步数,否则输出-1。输入输出样例输入样例#1: 复制21011001*1110111010010000001011110*10111001
2018-02-21 17:35:07
196
转载 NOIP考纲总结+NOIP考前经验谈
目录(?)[-]浴谷国庆集训 算法评价与枚举考前准备秘诀NOIP前必须记住的30句话浴谷国庆集训 算法评价与枚举上图是一张时间复杂度对照表,考试的时候方便对照评价自己的算法是否会超时。仅供参考,还要考虑老年评测机的速度,算法常数等等……一些算法和时间复杂度对照数据类型和占用空间对照i
2018-02-12 21:34:59
397
原创 [模板]ST表
题目背景这是一道ST表经典题——静态区间最大值请注意最大数据时限只有0.8s,数据强度不低,请务必保证你的每次查询复杂度为 O(1)O(1)题目描述给定一个长度为 NN 的数列,和 MM 次询问,求出每一次询问的区间内数字的最大值。输入输出格式输入格式:第一行包含两个整数 N, MN,M ,分别表示数列的长度和询问的个数。
2018-02-12 21:23:30
266
原创 [模板]快速排序
#include#includeinline int read(){char ch=getchar(),w=1;int x=0;while(ch'9'){if(ch=='-')w=-1;ch=getchar();}while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}return w*x;}inline void wr(int x){if(
2018-02-10 14:04:38
170
转载 C++容器之List容器初学
List简介² list是一个双向链表容器,可高效地进行插入删除元素。² list不可以随机存取元素,所以不支持at.(pos)函数与[]操作符。It++(ok) it+5(err)² #include list对象的默认构造list采用采用模板类实现,对象的默认构造形式:list lstT; 如:list lstInt;
2018-02-09 19:11:04
156
原创 【模板】可持久化线段树 1(主席树)
题目背景这是个非常经典的主席树入门题——静态区间第K小数据已经过加强,请使用主席树。同时请注意常数优化题目描述如题,给定N个正整数构成的序列,将对于指定的闭区间查询其区间内的第K小值。输入输出格式输入格式:第一行包含两个正整数N、M,分别表示序列的长度和查询的个数。第二行包含N个正整数,表示这个序列各项的数字。接下来M
2018-02-08 19:25:19
183
转载 树状结构之主席树
主席树搞了一个多星期TAT,,,,,,也只是大致领悟而已!!!主席树又称函数式线段树,顾名思义,也就是通过函数来实现的线段树,至于为什么叫主席树,那是因为是fotile主席创建出来的这个数据结构(其实貌似是当初主席不会划分树而自己想出来的另一个处理方式。。。。是不是很吊呢? ORZ...)不扯了,切入正题。主席树就是利用函数式编程的思想来使线段树支持询问历史版本、同时充分利用它们之间的共同
2018-02-08 15:29:39
173
原创 线段树模板
区间和#include<cstdio>#define ll long longconst int MAXN=100010;struct Tree {#define lson (o<<1)#define rson (o<<1|1)#define l(x) tree[x].l#define r(x) tree[x].r#define sum(x) t...
2018-02-05 19:24:09
177
转载 线段树详解 (原理,实现与应用)
线段树详解By 岩之痕目录:一:综述二:原理三:递归实现四:非递归原理五:非递归实现六:线段树解题模型七:扫描线八:可持久化 (主席树)九:练习题一:综述假设有编号从1到n的n个点,每个点都存了一些信息,用[L,R]表示下标从L到R的这
2018-02-05 13:52:19
332
原创 1406 与查询
题目来源: CodeForces基准时间限制:2 秒 空间限制:131072 KB 分值: 80 难度:5级算法题 收藏 关注有n个整数。输出他之中和x相与之后结果为x的有多少个。x从0到1,000,000Input第一行输入一个整数n。(1<=n<=1,000,000).第二行有n个整数a[0],a[1
2018-02-04 18:18:46
266
原创 卢卡斯定理
题目描述给定n,m,p(1\le n,m,p\le 10^51≤n,m,p≤105 )求 C_{n+m}^{m}\ mod\ pCn+mm mod p保证P为primeC表示组合数。一个测试点内包含多组数据。输入输出格式输入格式:第一行一个整数T(T\le 10T≤10 ),表示数据组数第二行开始共T行,每行
2018-02-04 14:08:19
449
转载 Lucas定理与大组合数的取模
首先给出这个Lucas定理:A、B是非负整数,p是质数。AB写成p进制:A=a[n]a[n-1]...a[0],B=b[n]b[n-1]...b[0]。则组合数C(A,B)与C(a[n],b[n])*C(a[n-1],b[n-1])*...*C(a[0],b[0]) modp同余即:Lucas(n,m,p)=c(n%p,m%p)*Lucas(n/p,m/p,p)
2018-02-04 13:01:53
328
转载 乘法逆元的几种求法总结
乘法逆元对于缩系中的元素,每个数a均有唯一的与之对应的乘法逆元x,使得ax≡1(mod n) 一个数有逆元的充分必要条件是gcd(a,n)=1,此时逆元唯一存在 逆元的含义:模n意义下,1个数a如果有逆元x,那么除以a相当于乘以x。下面给出求逆元的几种方法1 循环找解法给定模m和需要求逆的数x,直接暴力枚举1~m-1 检查是否有x*i=1(mod m)
2018-02-04 10:49:05
1611
转载 容斥原理(翻译)
这篇文章发表于http://e-maxx.ru/algo/inclusion_exclusion_principle,原文是俄语的。由于文章确实很实用,而且鉴于国内俄文资料翻译的匮乏,我下决心将其翻译之。由于俄语对我来说如同乱码,而用Google直接翻译中文的话又变得面目全非,所以只能先用Google翻译成英语,再反复读,慢慢理解英语的意思,实在是弄得我头昏脑胀。因此在理解文章意思然后翻译成中文的
2018-02-03 08:06:11
292
2
转载 100层楼扔两个鸡蛋的问题
两个软硬程度一样但未知的鸡蛋,它们有可能都在一楼就摔碎,也可能从一百层楼摔下来没事。有座100层的建筑,要你用这两个鸡蛋确定哪一层是鸡蛋可以安全落下的最高位置。可以摔碎两个鸡蛋。 最少需要几次测试,才能得到摔碎鸡蛋的楼层?方案如何?================================================= 对于这个问题,如果从编程角度而言,最
2018-02-01 15:46:05
276
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人