---------- 数学 ----------
ixRic
ixRic
展开
-
C++类欧几里得算法
文章目录概述算法版题(本文用绿色\color{green}绿色绿色标注一切函数,用紫色\color{purple}紫色紫色标注部分可以O(1)O(1)O(1)计算的常量式,便于观察)(不知道为什么加了颜色过后括号不能自动变大了,将就看吧= =)概述类欧几里得算法用于求形如f(a,b,c,n)=∑i=0n⌊ai+bc⌋\color{green}{f(a, b, c, n)} \color{o}...原创 2020-02-20 12:25:48 · 618 阅读 · 0 评论 -
C++高斯消元详解
文章目录前言直接来代码前言学了才发现这玩意贼简单虽然据说是复习。直接来高斯消元用于解一个线性方程组,就是:{a1,1⋅x1+a1,2⋅x2+⋯+a1,n⋅xn=a1,n+1a2,1⋅x1+a2,2⋅x2+⋯+a2,n⋅xn=a2,n+1⋯an,1⋅x1+an,2⋅x2+⋯+an,n⋅xn=an,n+1\begin{cases}a_{1,1}\cdot x_1+a_{1,2}\cdot ...原创 2019-11-13 08:51:45 · 4410 阅读 · 1 评论 -
COCI2016/2017 Round2T3 Nizin
文章目录题目分析题目题目分析合并显然要从两边开始合,才能保证回文,由于都是正数,所以是不可逆的,故两个指针从两边往中间靠即可。题目#include<cmath>#include<queue>#include<cstdio>#include<vector>#include<cstring>#include<alg...原创 2019-07-03 09:44:58 · 340 阅读 · 0 评论 -
COCI2016/2017 Round2T2 Tavan
文章目录题目分析题目题目分析其实就是KKK进制凑数,类比101010进制的,乱搞即可。题目#include<cmath>#include<queue>#include<cstdio>#include<vector>#include<cstring>#include<algorithm>using na...原创 2019-07-03 09:38:22 · 340 阅读 · 0 评论 -
COCI2016/2017 Round1T3 Cezar
文章目录题目分析代码题目分析先把单词按给定的顺序排好。然后依次比相邻的两个单词,只要不是包含关系,一定能且只能得到一对字母的大小关系,把大的字母向小的字母连一条边。例如:abc和add,要求替换后abc<add。第一位a是一样的,不论怎么替换都没用,跳过。第二位一个是b一个是d,由于要求替换后abc<add,所以必须保证替换后的b<d。这时把d向b连一条边。...原创 2019-06-24 10:30:26 · 324 阅读 · 0 评论 -
COCI2016/2017 Round1T5 Kralj
文章目录题目分析题目分析为了方便叙述,记精灵为XXX,矮人为YYY,XXX要尽可能多地打败YYY。还是要先证明一个结论:我们可以找到一个YjY_jYj,使得所有的XXX,无论怎么安排入场顺序,寻找对手时都不会越过它。定义AiA_iAi表示对手为YiY_iYi的XXX的人数,BiB_iBi为AiA_iAi的前缀和,如果有一段区间[i,j][i,j][i,j]满足Bj−Bi...原创 2019-07-01 21:48:49 · 609 阅读 · 0 评论 -
【51nod】欧拉函数之和(数论,杜教筛)
文章目录题目分析题目1239 欧拉函数之和分析欧拉函数φ(n)\varphi(n)φ(n)表示小于nnn的与nnn互质的数的个数。令答案f(n)=∑i=1nφ(i)f(n)=\sum\limits_{i=1}^{n}\varphi(i)f(n)=i=1∑nφ(i)。可以证明n=∑d∣nφ(d)n=\sum\limits_{d|n}\varphi(d)n=d∣n∑φ(d)。下面是一...原创 2018-12-07 13:28:31 · 1876 阅读 · 5 评论 -
【NOIP2018提高组】D1T1 铺设道路
文章目录题目思路考场考场代码hack题外话正解题目题目描述春春是一名道路工程师,负责铺设一条长度为nnn的道路。铺设道路的主要工作是填平下陷的地表。整段道路可以看作是nnn块首尾相连的区域,一开始,第iii块区域下陷的深度为did_idi。春春每天可以选择一段连续区间[L,R][L,R][L,R],填充这段区间中的每块区域,让其下陷深度减少 111。在选择区间时,需要保证,区间内的每块...原创 2018-11-17 10:00:16 · 552 阅读 · 0 评论 -
CF513C Maximum Subrectangle
文章目录题目题目大意思路代码题目传送门题目大意给出分别有N,MN,MN,M个元素的序列a,ba,ba,b,定义一个乘积矩阵,其中的元素ci,j=ai×bjc_{i,j}=a_i\times b_jci,j=ai×bj,找到它的一个最大面积子矩阵,使得这个子矩阵的元素之和不大于给定的XXX。所有数都是正数,N,M≤2000N,M\leq 2000N,M≤2000。思路比赛的时候第一...原创 2018-10-05 09:12:01 · 1244 阅读 · 0 评论 -
COCI2016/2017 Round2T4 Prosjecni
文章目录题目分析代码题目分析这种构造题除了流毒我也不想说什么。题解也是直接给了one of the possible solutions,我能做的就是证明这种solution是对的,,,首先,只有n=2n=2n=2时无解,否则可以构造以下方阵(n≥1n\geq 1n≥1):12⋯n−112n(n−1)1+n(n−1)22+n(n−1)2⋯n−1+n(n−1)2n(n−1)1+n(n...原创 2019-07-04 08:14:01 · 257 阅读 · 0 评论 -
COCI2016/2017 Round2T6 Burza
文章目录题目分析(你问我为什么没有T5,因为我调不过啊XD)题目分析显然,可以把深度超过KKK的点先砍掉。原创 2019-07-04 11:37:54 · 416 阅读 · 0 评论 -
CodeForces 1187F Expected Square Beauty
文章目录题目题目大意分析代码题目Expected Square Beauty题目大意若xxx是一个数列,定义函数B(x)B(x)B(x)表示:将数列中连续的相同的作为一段的段数。例如B([3,3,6,1,6,6,6])=4B([3,3,6,1,6,6,6])=4B([3,3,6,1,6,6,6])=4,现在有一个nnn个数的数组aaa,ai∈[li,ri]a_i\in[l_i,r_i]ai...原创 2019-07-04 13:22:16 · 948 阅读 · 0 评论 -
组合数学基础练习
文章目录T1 DiceGames题目分析代码T2 WordNumber题目分析代码T3 ChristmasTree题目分析代码T4 MuddyRoad2题目分析代码(这四个题目难度并列,相差不大)T1 DiceGames题目TopCoder - 7601 DiceGames描述你有nnn个骰子,并打算用这些骰子发明一个新游戏。为了发明游戏,你需要首先知道扔骰子有多少种结果。我们定义骰子...原创 2019-07-10 11:45:14 · 1266 阅读 · 0 评论 -
COCI2016/2017 Round1T4 Mag
文章目录题目分析代码题目分析既然是乘积,容易想到所选路径上的值不可能很大,所以一般(特殊情况等会讨论)有以下几个结论:最优路径上不可能有点权超过222的结点证明:设当前已找到的乘积为xxx,结点个数为nnn,新加入的点权为y(y>2)y(y>2)y(y>2),则新的路权为xyn+1\dfrac{xy}{n+1}n+1xy,由于y>...原创 2019-07-01 11:20:01 · 351 阅读 · 0 评论 -
C++ 线性筛逆元
O(n)求1到n所有数模p的逆元。原创 2019-08-04 16:36:06 · 1485 阅读 · 2 评论 -
锻造 (forging)
题目背景勇者虽然武力值很高,但在经历了多次战斗后,发现怪物越来越难打,于是开始思考是不是自己平时锻炼没到位,于是苦练-一个月后发现....自已连一个史莱姆都打不过了。勇者的精灵路由器告诉勇者其实是他自己的武器不好,并把他指引到了锻造厂。原创 2019-08-05 21:16:46 · 1808 阅读 · 0 评论 -
矩阵游戏
LZK发明一个矩阵游戏,大家一起来玩玩吧,有一个N行M列的矩阵。第一行的数字是1,2, ..M,第二行的数字是M+1, M+2-2*M,以此类推,第N行的数字是(N-1)*M+1, (N-1) *M+2--N*M。例如,N=3,M=4的矩阵是这样的:…原创 2019-08-05 21:45:47 · 1834 阅读 · 0 评论 -
【NOIP2013模拟】粉刷匠
文章目录题目分析代码题目Description赫克托是一个魁梧的粉刷匠,而且非常喜欢思考= =现在,神庙里有NNN根排列成一直线的石柱,从111到NNN标号,长老要求用油漆将这些石柱重新粉刷一遍。赫克托有KKK桶颜色各不相同的油漆,第i桶油漆恰好可以粉刷CiC_iCi根石柱,并且,C1+C2+C3+⋯+CK=NC_1+C_2+C_3+\cdots +C_K=NC1+C2+C3+⋯+...原创 2019-08-02 09:56:28 · 1354 阅读 · 0 评论 -
旋转子段
ZYL有N张牌编号分别为1,2,......,N。他把这N张牌打乱排成一排,然后他要做一次旋转使得旋转后固定点尽可能多。如果第i个位置的牌的编号为i,我们就称之为固定点。旋转可以被认为是将其中的一个子段旋转180度,这意味着子段的第一张牌和最后一张牌交换位置,以及第二张牌和倒数第二张牌交换位置,等等。写-一个程序,找到旋转子段(子段长度可以为1)。原创 2019-08-21 10:44:26 · 326 阅读 · 0 评论 -
【AtCoder】AGC006 Median Pyramid Easy
文章目录题目题目大意思路代码题目传送门题目大意有一个NNN层的数字金字塔如左图所示,最下面一层写了2N−12N-12N−1个数(这些数是1,2,...,N1,2,...,N1,2,...,N的一个排列),然后用以下规则填满这个金字塔:第i(i&lt;N)i(i&lt;N)i(i<N)行第jjj个数为第i+1i+1i+1行的第j−1j-1j−1、jjj、j+1j+1j...原创 2018-10-03 16:30:05 · 381 阅读 · 0 评论 -
【AtCoder】AGC004 Colorful Slimes
文章目录题目题目大意思路代码题目传送门题目大意这里有NNN只颜色为1,2,...,N1,2,...,N1,2,...,N的史莱姆,Snuke想每种颜色的史莱姆抓一只,他直接抓颜色为iii的史莱姆需要aia_iai秒,他还可以花XXX秒施展一个咒语,使他已经抓住的所有史莱姆的颜色加111(颜色为NNN的史莱姆颜色变成111),问达成目标最少需要多少秒。思路如果你规定施展kkk次咒语,那...原创 2018-10-03 16:05:21 · 316 阅读 · 0 评论 -
【AtCoder】AGC006 Minimum Sum
文章目录题目题目大意思路代码题目传送门题目大意给出一个NNN的排列a1,a2,...,aNa_1,a_2,...,a_Na1,a2,...,aN,求∑l=1N∑r=lNmin{al,al+1,...,ar}\sum\limits_{l=1}^{N}\sum\limits_{r=l}^{N}\min\{a_l,a_{l+1},...,a_r\}l=1∑Nr=l∑Nmin{al,...原创 2018-10-03 15:36:26 · 278 阅读 · 0 评论 -
NOIP普及组模拟★回文数组
题目时间限制: 1 Sec 内存限制: 128 MB题目描述给定有N个整数的数组A,下标从1到N。如果对每一个下标i均满足A[i] =A[N-i+1],则称数组是回文的。 例如,数组A={1,2,3,2,1}就是回文数组。 如果数组A不是回文的,可以采用合并两个相邻元素的方法去得到回文数组。注意,每操作一次,数组的元素数量减少1。 例如,数组A={1,2,3}不是回文数组,但是通过合并A[1原创 2017-10-30 13:47:33 · 491 阅读 · 0 评论 -
【NOIP普及组】2016模拟考试(11.8)——公路
问题 B: 公路(road.cpp)时间限制: 1 Sec 内存限制: 128 MB题目描述有一条单向的高速公路,只有一条车道,有n(1输入第一行两个整数N,T(1接下来N行,每行包含两个整数,分别表示一辆车的初始位置和初始速度。输出一个整数,表示T时刻后有多少个group。样例输入5 30 11 22 33 26 1样例输出原创 2016-11-10 13:33:06 · 570 阅读 · 0 评论 -
【NOIP2016普及组】复赛——海港
好的,说说这道题的思路,爆搜队列嘛:用一个结构体队列存每个人来的时间和他的国籍,用一个vis数组存每个人来的次数,是第一次来sum便加一。然后从前面第一个人开始扔(原谅我用这个词,因为我找不到更好的词了)下船,直到第一个人与当前这艘船相差没超过1天即可,每扔一个人便vis[此人国籍]减一,当这个人来的次数为0时,sum减一。就这样,既不爆时间也不爆空间,完美!原创 2016-12-22 13:43:28 · 3837 阅读 · 0 评论 -
【NOIP2016普及组】复赛——魔法阵
题目来这里:跟我飞飞飞(不要问我为什么,自己看前3篇题解)还能怎么做,要么爆搜要么递归,要么超时要么栈溢出……其实这次复赛的题几乎没有什么算法,数据结构也就3题算用了队列,全部是考思维。此题正确思路:先看看要满足的条件: Xab)/3所以我们能得到一个图:相信这个不难理解,结合上面的条件变能够看懂(其实最重要的第一步就是先画好图)。i当然是正整数原创 2016-12-23 14:06:37 · 2574 阅读 · 0 评论 -
【数论】无平方因子的数
问题 B(2642): 无平方因子的数时间限制: 1 Sec 内存限制: 128 MB提交: 213 解决: 55[提交][状态][我的提交]题目描述给出正整数n和m,区间[n, m]内的“无平方因子”的数有多少个?整数p无平方因子当且仅当不存在 k > 1,使得p是k2 的倍数。输入第1行:2个整数n和m (1 输出原创 2017-02-07 16:33:45 · 2612 阅读 · 0 评论 -
【数论】计算组合数
问题 B(2713): [POJ2249]计算组合数时间限制: 1 Sec 内存限制: 128 MB题目描述给定正整数n, k,计算C(n, k)。答案保证在2^31以内。输入多组数据,每组数据仅一行,即2个整数n和k (n>=1) and k (0以2个0结束输入输出对每个数据,输出对应的答案 样例输入Copy (如果复制到控制台原创 2017-02-16 13:42:06 · 857 阅读 · 0 评论 -
【数论】【欧拉函数】【快速幂】洗牌机
3333: 洗牌机时间限制: 2 Sec 内存限制: 512 MB题目描述有2n张牌,放在2n个从1到2n的有序位置上。洗牌机每次可以把第i张牌洗到p(i)的位置上。P(i)的定义如下: 问经过最少多少轮洗牌,才会使所有牌回到原来的位置。输入输入格式:有多组数据,每组数据一个整数n(n输出输出格式:对于每组数据,输出一个整数,表原创 2017-03-02 08:44:49 · 552 阅读 · 0 评论 -
【数论】【容斥原理】八
八是个很有趣的数字啊。八=发,八八=爸爸,88=拜拜。当然最有趣的还是8用二进制表示是1000。怎么样,有趣吧。当然题目和这些都没有关系。 某个人很无聊,他想找出[a,b]中能被8整除却不能被其他一些数整除的数。输入第一行一个数n,代表不能被整除的数的个数。 第二行n个数,中间用空格隔开。 第三行两个数a,b,中间一个空格。 a < =b < =1000000000输出一个整数,为[a,原创 2017-07-09 09:20:49 · 701 阅读 · 0 评论 -
NOIP2015普及组★求和★数学
题目题目描述输入输出输入样例1输出样例1输入样例2输出样例2提示输入输出样例 1 说明数据规模思路代码题目题目描述一条狭长的纸带被均匀划分出了n个格子,格子编号从1到n。每个格子上都染了一种颜色color_i用[1,m]当中的一个整数表示),并且写了一个数字number_i。 定义一种特殊的三元组:(x,y,z),其中x,y,z都代表纸带上格子的编号,这里的三元组要求满原创 2017-10-18 12:41:34 · 617 阅读 · 0 评论 -
C++逆元详解
引入逆元概念求逆元用法例题引入通常情况下,模运算有加法、乘法,减法的分配率,即: (a+b)%m=(a%m+b%m)%m(a+b)%m=(a%m+b%m)%m(a+b)\%m=(a\%m+b\%m)\%m (a−b)%m=(a%m−b%m)%m(a−b)%m=(a%m−b%m)%m(a-b)\%m=(a\%m-b\%m)\%m (a×b)%m=(a%m×b%...原创 2018-07-24 11:34:42 · 4927 阅读 · 1 评论 -
【AtCoder】AGC010 Boxes
文章目录题目题目大意思路代码题目传送门题目大意给出N(N≤105)N(N\leq 10^5)N(N≤105)个数围成一圈,每次你可以选择一个i(1≤i≤N)i(1\leq i\leq N)i(1≤i≤N),然后对于每个j(1≤j≤N)j(1\leq j\leq N)j(1≤j≤N),从第i+ji+ji+j个数(循环计数)中减去jjj(若其中的某个数会减成负数,你就不能选择这个iii),问最...原创 2018-10-03 08:52:10 · 289 阅读 · 0 评论 -
【AtCoder】AGC008 Contiguous Repainting
文章目录题目题目大意思路代码题目传送门题目大意给你一个长度为N(N≤105)N(N\leq10^5)N(N≤105)的序列aaa(∣ai∣≤109|a_i|\leq 10^9∣ai∣≤109)和一个整数K(K≤N)K(K\leq N)K(K≤N),一开始每个数都是白色的,每次可以将这个序列中的连续KKK个数涂成白色或黑色,你可以进行任意次操作,最后将黑色的数加起来,问最大的和是多少。思...原创 2018-10-02 17:19:46 · 320 阅读 · 0 评论 -
【AtCoder】AGC001 Mysterious Light
文章目录题目题目大意思路代码题目传送门题目大意在一个边长为NNN的等边三角形中,你按如图所示(距aaa点XXX单位长的位置)的方法发射一道激光,激光遇到三角形的边或者之前的激光都会反弹,激光回到原点就结束,问一共走了多远。思路在平行四边形DEFBDEFBDEFB中,激光由FFF开始反射,能够“完整”地反射到HHH,然后进入平行四边形DEHGDEHGDEHG。在平行四边形DEHGD...原创 2018-10-02 16:57:53 · 794 阅读 · 0 评论 -
【AtCoder】ABC104 We Love ABC
题目题目大意分析只有ABC的情况加上?后的情况题目beta传送门题目大意对于一个字符串TTT,规定它的ABC number是这样的一个三元组的个数:(i,j,k)(i,j,k)(i,j,k)(1≤i&amp;lt;j&amp;lt;k≤|T|1≤i&amp;lt;j&amp;lt;k≤|T|1\leq iTi=Ti=T_i= A,Tj=Tj=T_j= B且Tk=Tk=T_k= C。...原创 2018-08-10 23:54:42 · 1340 阅读 · 0 评论 -
CodeForces - 978E·Bus Video System
题目题目大意分析代码题目传送门题目大意一辆公交车上最多能乘www( 1≤w≤1091≤w≤1091\leq w\leq 10^9)个人,公交车发车后会依次在nnn(1≤n≤10001≤n≤10001\leq n\leq 1000)个站停车,车上的一个系统会记录每次停站前后车上人数的差,现在给你这些差值,问公交车发车时车上可能有多少人,输出方案数。分...原创 2018-07-25 23:55:23 · 736 阅读 · 0 评论 -
【分类讨论】CodeForces - 1006D·Two Strings Swaps
题目题目大意分析代码题目传送门题目大意给你两个字符串 aaa 和 bbb,长度均为nnn,你可以对两个字符串进行如下操作(1≤i≤n1≤i≤n1\leq i\leq n):交换字符 aiaia_i 和 an−i+1an−i+1a_{n-i+1}交换字符 aiaia_i 和 bibib_i交换字符 bibib_i 和 bn−i+1bn−i+1b_{...原创 2018-07-20 10:57:09 · 1234 阅读 · 0 评论 -
【CodeForces】988E·Divisibility by 25
题目题目大意分析代码题目传送门题目大意给你一个整数nnn(1≤n≤10181≤n≤10181\leq n\leq 10^{18},不含前导零),你能够将任意两个相邻位置上的数互换位置,每交换一次算一步,每一次交换过后的数不能有前导零。现在要求以最少的步数使这个数变为252525的倍数,输出这个步数。分析比赛的时候疯狂地分类讨论,仿佛灵魂都被净化...原创 2018-07-25 10:03:38 · 798 阅读 · 0 评论 -
【组合数学】【逆元】AtCoder - 1974·いろはちゃんとマス目 / Iroha and a Grid
题目题目大意分析题目传送门题目大意一个H×WH×WH\times W的矩形,左下角的A×BA×BA\times B的矩形区域不能走,问左上角走到右下角的方案数模109+7109+710^9+7。分析如果无视障碍,从(x,y)(x,y)(x,y)走到(m,n)(m,n)(m,n)的方案数是Cn−ym−x+n−yCm−x+n−yn−yC_{m-x+n-y...原创 2018-07-24 11:19:05 · 1027 阅读 · 0 评论