- 博客(44)
- 资源 (3)
- 问答 (7)
- 收藏
- 关注
原创 [国家集训队] Tree II 题解报告
一道·真·板子·题就是练习LCT的题目除了翻转标记以外还要维护乘法标记和加法标记注意加法标记和乘法标记的维护!!!
2023-08-07 15:06:31
212
原创 从0开始 莫比乌斯函数和反演 学习笔记
建议先看这篇比较简略的文章(有大概了解)莫比乌斯函数_为最后的荣光的博客-优快云博客再根据个人情况食用本篇博客首先对nnn唯一分解唯一分解唯一分解定理一篇就够了_求唯一分解式程序_JdiLfc的博客-优快云博客唯一分解定理及其证明 - 夶 - 博客园 (cnblogs.com)np1k1p2k2pmkm其中pi为n的互异质因子∀iki为正整数(0)
2023-05-16 19:03:36
562
原创 火车进出栈问题 题解
来源 卡特兰数个人评价(一句话描述对这个题的情感)…~%?..,# *'☆&℃$︿★?1 题面一列火车n节车厢,依次编号为1,2,3,…,n。每节车厢有两种运动方式,进栈与出栈,问n节车厢出栈的可能排列方式有多少种。输入一个数,n(n<=60000)输出一个数s表示n节车厢出栈的可能排列方式样例样例输入13样例输出152 分析题面求卡特兰数的第n项,不取模有两种方式,都能推出这是一道纯卡特兰数题2.1 递推“计数原理中的乘法原理,总的方案数等于第一
2023-03-18 10:46:23
812
原创 ARC153B Grid Rotations 题解
首先我们可以知道每一行/列的数不会发生错位(证明显然)这个简单🍳题把我坑🕳惨了。最边边的两个数会挨在一起ヽ( ̄ω ̄( ̄ω ̄〃)ゝ。这样就导致了每次操作都会使顺序颠倒一次+滚动更新。最终每一行/列的数是原来正序/倒序的循环。因此我们记录第1行和第一列更新后的位置。因为最边边的要么是原本的开头和结尾。然后根据q的奇偶判断滚动/顺序情况。而且他们原本在P上就是挨在一起的。(这两种情况在P上都是)要么就是从中间剖开的。
2023-03-18 10:34:23
460
原创 [HNOI2015]落忆枫音 题解
由上面的故事可知,这个有向无环图存在一个树形子图,它是以穴位 1为根的包含全部n个穴位的一棵树——称之为脉络树(例如图 2和图 3给出的树都是图1给出的脉络图的子图);现在向脉络图添加一条与已有脉络不同的脉络(注意:连接 2个穴位但方向不同的脉络是不同的脉络,例如从穴位3到4的脉络与从4到3的脉络是不同的脉络,因此,图 1 中不能添加从 3 到 4 的脉络,但可添加从 4 到 3 的脉络),这条新脉络可以是从一个穴位连向自身的(例如,图 1 中可添加从 4 到 4 的脉络)。(讲的应该还是比较清晰的)
2023-03-18 10:15:34
390
原创 「2020-2021 集训队作业」大鱼治水 题解
(达成目标后,你仍可继续操作,只要保证结束时仍满足要求即可)若当前是轻儿子,需要4步:将重儿子取消,改为ta,将ta取消,改回重儿子。若当前轻儿子,需要3步:将重儿子取消,将重儿子设ta,将ta取消。(你上一个要求的结束状态会沿袭到下一个要求的起始状态。全部不设定重儿子,需要2步:将重儿子设ta,将ta取消。三种转移(选择最优(也就是最大步数最小)的一种)个要求,要你在 35 步操作内令 。若当前重儿子,需要1步:将重儿子设为ta。并做好(设/不设 重儿子 的)处理。若当前是重儿子,需要0步。
2023-03-18 10:12:14
642
原创 「BZOJ3864」Hero meet devil 题解
表示在 $lcs $ 状态为 $s $ 的情况下,在后面添加字符 $k $ 转移到的状态。刚开始想的时候,怎么定义状态都会造成重复等各种问题,于是搜题解(emmm)。同种状态的时候,在后面加上同一个字符,转移到的状态是一样的。有贡献,即是1的位们就是公共子串部分。的过程在来看这个trans的方程转移。,表示为一个状态进行计数,就可以了。
2023-03-18 10:11:32
405
原创 浅谈vector
一 什么是vector?**向量(Vector)**是一个封装了动态大小数组的顺序容器(Sequence Container)跟任意其它类型容器一样,它能够存放各种类型的对象可以简单的认为,向量是一个能够存放任意类型的动态数组二 容器特性1 顺序序列顺序容器中的元素按照严格的线性顺序排序可以通过元素在序列中的位置访问对应的元素2 动态数组支持对序列中的任意元素进行快速直接访问,甚至可以通过指针算述进行该操作提供了在序列末尾相对快速地添加/删除元素的操作3 能够感知内存分配器
2022-05-09 19:30:00
339
原创 火车进出站 luoguP1044 题解报告
个人评价(一句话描述对这个题的情感)…~%?..,# *'☆&℃$︿★?1 题面传送门(有一点不一样)一列火车n节车厢,依次编号为1,2,3,…,n。每节车厢有两种运动方式,进栈与出栈,问n节车厢出栈的可能排列方式有多少种。输入一个数,n(n<=60000)输出一个数s表示n节车厢出栈的可能排列方式样例样例输入13样例输出152 分析题面求卡特兰数的第n项,不取模有两种方式,都能推出这是一道纯卡特兰数题2.1 递推“计数原理中的乘法原理,总的方案数等.
2022-05-09 17:01:16
226
转载 c++ 浅谈指针
指针绝大部分参考自C++指针概念指针是“指向(point to)”另外一种类型的复合类型。复合类型是指基于其它类型定义的类型。指针的值实质是内存单元(即字节)的编号有时你申请一个变量(如int x;),计算机就会随机给你分配一个空间,你可以在那个空间内改变数值就像计算机给了一个叫做a的小房子,但是只能在里面放int类型的值比如你输入x=-1,计算机首先会把小房子找到,然后把-1放在里面(如果里面有其他值,就拿出来)那这个小房子的地方在哪里呢,就存放在地址里每一个变量都有一个地址(即
2022-05-09 16:59:06
145
原创 Making the Grade 路面修整
「POJ 3666」Making the Grade 路面修整1 算法标签dp动态规划,滚动数组优化2 题目难度提高/提高+3 题面「POJ 3666」Making the Grade 路面修整4 分析题面4.1 简要描述给出数列AAA, 求非严格单调不上升或单调不下降, 且S=∑i=1N∣Ai−Bi∣S=\sum^N_{i=1}|A_i-B_i|S=∑i=1N∣Ai−Bi∣ 最小的序列BBB,输出SSS4.2 模型转换输入N, 然后输入N个数,求最小的改动这些数使之成非严格递增
2022-05-09 16:57:25
264
原创 「NOIP2012」疫情控制 题解
完成这个题后,得到的教训是数组初始化和for循环结束条件一定要统一(emmm)「NOIP2012」开车旅行和「NOIP2013」货车运输完结撒花❀★,°.°★。
2022-03-30 16:54:57
925
1
原创 「NOIP2012」疫情控制 题解
传送门题目描述H国有 n个城市,这 n 个城市用n−1条双向道路相互连通构成一棵树,1号城市是首都,也是树中的根节点。H国的首都爆发了一种危害性极高的传染病。当局为了控制疫情,不让疫情扩散到边境城市(叶子节点所表示的城市),决定动用军队在一些城市建立检查点,使得从首都到边境城市的每一条路径上都至少有一个检查点,边境城市也可以建立检查点。但特别要注意的是,首都是不能建立检查点的。现在,在 H 国的一些城市中已经驻扎有军队,且一个城市可以驻扎多个军队。一支军队可以在有道路连接的城市间移动,并在除首都以外
2022-03-09 20:40:16
371
原创 浅谈 容斥
容斥容斥原理它在解决计数问题乃至一切存在交集的问题时,逻辑清晰,方便思考,优势显著[例1] 求图形的面积S=A∪B∪C=A+B+C-A∩B-B∩C-C∩A+A∩B∩C容斥原理公式(求集合交集)假设集合U中有n种不同属性,第i种属性为Pi 有属性Pi的元素构成集合Si,则∣⋃i=1nSi∣=∑i∣Si∣−∑i<j∣Si∩Sj∣+∑i<j<k∣Si∩Sj∩Sk∣−...+(−1)m−1∑ai<ai+1∣⋂i=1mSai∣+...+(−1)n−1∣S1∩...∩Sai∣\
2022-02-23 16:44:04
451
原创 [USACO10MAR]Great Cow Gathering G 解题报告
[USACO10MAR]Great Cow Gathering G题目描述Bessie 正在计划一年一度的奶牛大集会,来自全国各地的奶牛将来参加这一次集会。当然,她会选择最方便的地点来举办这次集会。每个奶牛居住在 N 个农场中的一个,这些农场由 N−1 条道路连接,并且从任意一个农场都能够到达另外一个农场。道路 ii 连接农场Ai 和 Bi,长度为 Li。集会可以在 N 个农场中的任意一个举行。另外,每个牛棚中居住着 Ci 只奶牛。在选择集会的地点的时候,Bessie 希望最大化方便的程度(
2022-02-11 15:27:48
575
原创 二分与三分
二分二分查找前提:数据有序 and 连续空间复杂度只有O(logn)非常优秀的算法!code#incldue<bits/stdc++.h>#define ll long longusing namespace std;ll a[10002],n,x;int main(){ scanf("%lld%lld",&n,&x); for(int i=1;i<=n;i++){ scanf("%lld",&...
2022-02-08 11:08:24
555
原创 AtCoder Beginner Contest 237 D - LR insertion
D - LR insertionhttps://atcoder.jp/contests/abc237/tasks/abc237_dProblem StatementThere is a sequence that contains one0,A=(0).Additionally, you are given a string of lengthN, S=s1s2…sN, consisting ofLandR.For each i=1,2,…,Nin this order, t...
2022-02-06 20:03:11
977
原创 浅谈线性DP
线性动态规划,是较常见的一类动态规划问题,其是在线性结构上进行状态转移不像背包问题、区间DP等有固定的模板(但是模版也相对固定,更多的是要通过题目来思考)线性动态规划的目标函数为特定变量的线性函数,约束是这些变量的线性不等式或等式目的是求目标函数的最大值或最小值(直观理解来看,只要状态转移方程能写成分段函数的,在某种意义上都能说他是线性DP,但本质仍是需要去探究信息流动的过程)因此,除了少量问题(如:LIS、LCS、LCIS等)有固定的模板外,大部分都要根据实际问题来推导得出答案常见
2022-01-26 12:52:30
333
原创 DP理论一
定义Dynamic Programming(DP),和贪心、分治一样,DP并不是一种特定算法,而是一种算法思想每次决策依赖于当前状态,又随即引起状态的转移一个决策序列就是在变化的状态中产生出来的所以,这种多阶段最优化决策解决问题的过程就称为动态规划将一个问题拆成几个子问题,分别求解这些子问题,即可推断出大问题的解满足无后效性、最优子结构性质性质无后效性对于「无后效性」,某个状态一旦确定,此后的过程演变不再受此前各状态的影响“未来与过去无关”,这就是无后效性
2022-01-26 11:28:47
1055
原创 浅谈数论:质数,约数与同余
模(mod)运算与整除 取模a对b取模得到的结果就是a除以b的余数也就是取余运算记作a mod b(a%b)整除 a%b=0,记作b|a,a是b的倍数模的性质模的几个基本性质: • (a + b)%p = (a%p + b%p)%p • (a - b)%p = (a%p – b%p)%p • (a - b)%p = (a - b + p)%p • a*b%p = (a%p)*(b%p) %p计算中取模,可以避免中间结果溢出 负数取
2022-01-22 15:45:54
1009
原创 [NOIP2002 普及组] 过河卒 题解
题目传送门(luogu P1002)题目描述棋盘上A点有一个过河卒,需要走到目标B点。卒行走的规则:可以向下、或者向右。同时在棋盘上C点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点。因此称之为“马拦过河卒”。棋盘用坐标表示,A点(0, 0)、B点(n, m),同样马的位置坐标是需要给出的。现在要求你计算出卒从A点能够到达B点的路径的条数,假设马的位置是固定不动的,并不是卒走一步马走一步。输入格式一行四个正整数,分别表示B点坐...
2021-11-14 14:34:12
407
原创 找拖后腿的 题解
题目描述某语文老师所教班级平均分一直不高,他希望将所有拖后腿的学生找出来,但学生人数过多,一个个算太慢,你能帮他编程解决这个问题吗?输入第一行一个数n(n<100)(表示学生数量)第二行n个int范围以内的数,之间以空格隔开(分别表示n个学生的成绩)输出输出低于平均数的学生的编号,学生以输入成绩顺序为编号,如第一个输入学生的编号为1.样例样例输入1520 30 90 10 30样例输出11 2 4 5思路利用数组输入数据,统计成绩总数,根据学生人
2021-10-26 19:45:58
418
原创 逆序输出 题解
题目描述依次输入n个数,再依次将其逆序输出。输入第一行一个数n(n<100)第二行n个int范围以内的数,之间以空格隔开输出一行n个数,逆序输出输入的数样例样例输入152 3 4 1 5样例输出15 1 4 3 2AC代码#include<bits/stdc++.h>using namespace std;int a[102];int n;int main(){ cin >> n; for (in
2021-10-26 19:36:25
1867
原创 [luogu P1001 初学必看]A + B Problem 题解
题目描述给定两个正整数a,b,输出它们的和。输入格式两个整数a,b。输出格式一个整数,表示a+b。样例样例输入 12 3样例输出 15限制与约定0≤a,b≤1090≤a,b≤109AC代码#include <bits/stdc++.h>using namespace std;int main(){ int a, b; cin >> a >> b; cout <<...
2021-10-26 19:33:55
187
原创 AtCoder Beginner Contest 221(A-D)
(转自atcoder官网)A - Seismic magnitude scales因为我们可以假设,当震级增加 1时,它正好乘以,所以答案是根据约束条件, 和是整数,, 因此,可以使用语句计算它。在某些语言中,我们可以用求幂或函数来找到它#include <bits/stdc++.h>using namespace std;int main(void) { int a, b; int k = 1; cin >> a >>...
2021-10-04 19:12:28
337
原创 [CSP-J2019] 纪念品
题目描述小伟突然获得一种超能力,他知道未来TT天NN种纪念品每天的价格。某个纪念品的价格是指购买一个该纪念品所需的金币数量,以及卖出一个该纪念品换回的金币数量。每天,小伟可以进行以下两种交易无限次:任选一个纪念品,若手上有足够金币,以当日价格购买该纪念品; 卖出持有的任意一个纪念品,以当日价格换回金币。每天卖出纪念品换回的金币可以立即用于购买纪念品,当日购买的纪念品也可以当日卖出换回金币。当然,一直持有纪念品也是可以的。TT天之后,小伟的超能力消失。因此他一定会在第TT天...
2021-08-17 17:05:23
749
原创 The principle of the end 终焉之理
今天做了一道题,自认为简单,火速自信提交。结果:一直都只有50pts,不能AC。(打脸)后面问了一下某位大佬才成功AC。题目如下:题目描述In an ancient book of revelation, there is a legend about the end of the world: it is said that there are 10^100diamond pillars in front of the residence of the mother earth G.
2021-08-16 20:14:30
285
原创 [GDKOI 2021 DAY1 T1] 普及组 地图 (map) 题解
题目描述Alice 得到了一张神秘地图,并将神秘地图的规则给了你。其中a的值为0或1,ri,ciri,ci定义如下:
2021-08-16 19:37:35
318
原创 浅谈一维数组
什么是数组有限个数据类型相同的变量的集合 (存放数据的容器)定义数组数据类型标识符 数组名 [ 数组大小(常量/常量表达式) ]eg:定义一个整型的数组,取名为a,数组大小为10int a[10];int a[2*5];错误定义int n;cin>>n;int a[n];(注:有些编译器是可以通过的)int n=5;int a[n];可修改为:const int n=5;//定义为常量int a[n];数组在计算机里的分配1.
2021-08-09 07:33:20
152
原创 luoguP5715 三位数排序
题目描述键盘任意输入三个数,将按从大到小输出。输入三个整数输出从大到小的三个数样例输入5 6 1样例输出6 5 1分析Q:如何找出最大、第二大、最小值?打擂台思想,两两对决思路• 先选出两个数进行比较,两者中较大的数,要么是第二大,要么是最大的数• 较大的数再与剩下的数比较,两者中较大的数,一定是最大的数• 最后,剩下的两个数再进行比较,得到次大和最小的数字。if(a>b) 交换a,bif(b>c) 交换b,cif(
2021-08-08 11:45:55
430
原创 判断一个三位数是否为水仙花数
题目描述三位数的水仙花数是指一个三位数 ,它的各位上的数字的 3次幂之 和等于它本身。(例如:1^3 + 5^3 + 3^3 = 153)要求,输入一个三位数,判断它是否为水仙花数输入任意一个三位数输出判断是否为水仙花数的结果,如果是输出Y, 否输出N样例输入153样例输出Y分析输入一个数,判断各个位上的数字 的3次幂之和是否等于本身输入一个三位数x 分离x的百、十、个位判断各个位的3次幂之和是否等于x如果成立 输出Y 否则 输出N代码
2021-08-08 11:35:53
7794
原创 鸡兔同笼 题解
题目描述鸡兔同笼问题:已知鸡和兔的总量为n,总腿数为m,输入n和m,依次输 出鸡和兔的数目,如果无解,则输出“No answer”。输入鸡和兔的总量n,总腿数m。输出依次输出鸡和兔的数目,如果无解,则输出“No answer”。样例输入10 20样例输出10 0分析“全兔法”:设鸡的只数为a,兔为ba=(4*n-m)/2;b=n-a;Q:什么情况下是无解的?• 脚的只数是奇数• 鸡和兔的只数不可能是负数m%2!=0||a<0 |.
2021-08-08 10:53:58
3853
2
原创 小数取余 题解
题目描述计算两个double变量 a 和 b的相除的余数 r 。这里余数 r 的定义是:a= k ×b+r其中 k是整数,0≤r<b。输入一行 2数,分别表示a b输出 1行1数,表示计算结果 r样例输入1 1样例输出0分析输入a,b计算得到 k计算 r r=a -k*b输出k,r程序#include<bits/stdc++.h>using namespace std;int main(){ doub
2021-08-08 09:37:55
3450
LCA-树上差分.pdf
2023-05-10
MusicTag支持音乐标签/封面/歌词等等修改
2023-05-10
C++ 求异或和为0的最小子集
2023-07-15
c++ return 多个赋值式返回什么结果
2023-03-20
[FJOI2018]城市路径问题 矩阵快速幂 求解答
2022-08-18
「中山市选 2011」杀人游戏 莫名AC有关问题
2022-06-25
STL deque<long long> a={n}什么意思?
2022-02-06
校门外有很多树 怎么做?
2021-11-09
[NOIP1998 普及组] 阶乘之和 看一下哪里错了
2021-10-16
团伙 想请问我的代码哪里错了?在oj上一直只有40pts
2021-10-06
d[l[x]=++y] = a; 是什么意思?
2021-08-19
noip2017普及组初试单项选择T19
2021-08-18
TA创建的收藏夹 TA关注的收藏夹
TA关注的人