12 2024 档案
摘要:题面 题目传送门 前言 考古 ing,提高组 T1 正文 题意给出了极好的性质——可以被均分 换言之,我们可以求出一个平均值(即目标值) 那么自然在这序列中会出现一些不同于平均值的元素 依照题意,让元素抹平与平均值的差距只能由相邻两个元素转移过来 特殊地, 与 只能从一
阅读全文
摘要:题面 题目传送门 前言 我嘞个超绝典题啊 正文 一些比较显然的思路捏~ 首先我们知道对于一棵二叉树的后序遍历,一定有其最后一个数是根 然后我们在中序遍历中找到该根的位置 这个根前面的所有数构成根的左子树 同理,这个根后面的所有数构成根的右子树 注意到树的性质是非常强的 当我们删去根节点的时候,一棵树
阅读全文
摘要:题面 题目传送门 前言 数据范围极小,故此存在若干种《奇怪》的方法可以水过 正文 记 表示前 个字母分成了 段时最大的单词数目 显然有枚举断点 ,在这个位置将字符串分成两段,转移方程形如: \begin{equation} dp_{i,j}
阅读全文
摘要:题面 题目传送门 前言 口胡 5min,调试 2h 正文 两点间距离公式啊~ 直接建图啊~ 计算边权啊~ 跑个最短路啊~ 考虑 floyd 啊~ 要开 double 啊~ 直接做做完啦~ 代码 #include<iostream> #include<iomanip> #include<cmath>
阅读全文
摘要:题面 题目传送门 前言 递推 T3,应用题(很典,可以双倍经验!) 爆搜可以卡过去,亲测 代码来一发: 点击查看代码 #include<iostream> using namespace std; int n,k,ans; void dfs(int x,int s,int t){ if(s==1){
阅读全文
摘要:题面 题目传送门 前言 简单 DP 捏 正文 就这么个东西,一眼爆搜——过不了 但是我们发现一个神奇的事情,结合例子来说吧: 比如说我们前面填了若干个数,当前数是 ,求这个东西本质不同的填数方式 依照题意,我们可以填 , , …… 那么其实接下来填的数就和
阅读全文
摘要:题面 题目传送门 前言 水题 正文 这都把提示写在题干上了…… 直接依题意枚举即可 当然,云落还是想说一下 这个“提示”实质上是零值定理的应用 因为一个朴素的三次函数在其定义域上是连续不断的 所以可以用零值定理 而零点自然就是方程 的根力! 代码 #incl
阅读全文
摘要:题面 题目传送门 前言 无聊的小学数学题 正文 一些小性质 相邻价位间销售量是线性变化的,由此可以推出没有直接给出销量的价位 eg. 样例中的 28 130 30 120,由此可以计算出 时的销量应该是 ,超过最高价位后的销量,一直推到小于 为止即可 数据一定
阅读全文
摘要:题面 题目传送门 前言 《》题 正文 bur? 这题出的真《》 我们回到小学五年级的课本,来回顾一下一元一次方程是怎么解的 去分母 拆括号 移项 合并同类项 系数化为 其中前面两步题意不做要求 众所周知,所有的方程都可以化成 的形式 即 \(x = -\frac{b
阅读全文
摘要:题面 题目传送门 前言 莫名其妙卡了云落两个点…… 正文 嗯,这种自己构造方案的操作很难不想到搜索 问题是爆搜肯定是没有前途滴! 如果邮票的种类没有用完,就在可能的搜索范围内进行下一步拓展 我们记当前要确定第 种邮票,边界条件为 如果没有到边界条件,那么就依据范围拓
阅读全文
摘要:题面 题目传送门 前言 本来开开心心敲个 走人的…… 我嘞个超绝 分啊! 正文 首先嗷,这个题是可以 过滴! 转化一下题意:第一问即求最长不上升子序列的长度,第二问即求最少能被划分成多少个不上升子序列 第一问 DP 是非常好想的,记 \(d
阅读全文
摘要:题面 题目传送门 前言 搜索与字符串(超级水……) 正文 递归中的 DFS 是相当好想,不断暴力拓展,不断回溯…… 找最大值也是显然的 重点在于如何判断两个字符串能不能构成合法的首尾匹配 其实枚举每一位匹配就可以力! 注意不可以存在包含关系 还有一个坑点,每个单词可以出现不超过两次 云落无话可说,实
阅读全文
摘要:题面 题目传送门 前言 抛开高精度不谈,这题就是裸的区间 DP 正文 u1s1,很好想到记录 表示枚举到第 个位置,用了 个乘号的最大值 简单转移一下即可! 最恶心的就是还得手搓高精度,需要维护两个操作 乘法 求较大值 P.S.
阅读全文
摘要:题面 题目传送门 前言 无聊的进制转换 正文 正数是相当好处理的…… 整除简单余 即可 重点是对于负数且无法整除的情况…… 也好办捏,多商一,然后余数就为正力! 代码 #include<iostream> #include<cstdio> using namespace std; cha
阅读全文
摘要:题面 题目传送门 前言 很古老的搜索典题力! 正文 其实就是更新参数…… 以及一个可行性剪枝 代码实现: 注意到给的 是没法直接用的,差分处理 设置三元组 为参数,分别表示处理到第 个加油站,当前油量 ,当前花费 然后初始从
阅读全文
摘要:题面 题目传送门 前言 好无聊的高精度 正文 需要维护两个操作 高精度加法 倒转字符串(判断回文、和加法操作都需要捏!) 代码 #include<iostream> #include<algorithm> #include<cstring> using namespace std; const in
阅读全文
摘要:题面 题目传送门 前言 也是爆切上提高组 T4 力,虽然是上个世纪的 正文 显然是 进制, 个数( 到 ) 扔一个结论上去:在当前行出现 个两位数当前行所对应的数为 上面那个可以手动模拟一下 当然,重点还是判断函数 需要通过层层筛
阅读全文
摘要:题面 题目传送门 前言 好水的普及组 T1 正文 简单模拟枚举即可 代码 #include<iostream> using namespace std; int main(){ int n,k=1; cin>>n; while(n>k){ n-=k; k++; } if(k%2==0){ cout<
阅读全文
摘要:题面 题目传送门 前言 这为什么是个黄题啊? 这不纯纯语言基础题吗…… 正文 给所有数存入字符串数组 排序即可 怎么排序,比较字典序 对于字符串 的拼接顺序 自然有 与 两种 然后比一下即可! 代码 #include<iostream> #
阅读全文
摘要:题面 题目传送门 前言 无聊的斐波那契数列变式 正文 这个其实依照题意直接模拟即可 代码 #include<iostream> using namespace std; const int maxn=25; int a,n,m,x,ans; int f[maxn],sum[maxn]; int ma
阅读全文
摘要:题面 题目传送门 前言 前几道题目都是古老的 NOIP 原题,所以 full of water 不显然的二进制拆分捏! 正文 其实就是一个套一个的递归调用 我们可以把一个数的二进制拆分,然后指数就是又可以做二进制拆分捏,再次调用递归函数即可 处理一些小细节 和 就不用
阅读全文
摘要:题面 题目传送门 前言 高精度的板子题…… 正文 水过 代码 #include<bits/stdc++.h> using namespace std; int a[2000],b[2000],c[2000],sum[2000]; void pplus(int *a,int *c){ int jw=0
阅读全文
摘要:题面 题目传送门 前言 简单枚举捏! 正文 记三个三位数分别为 ,满足 显然 ,直接暴力统计即可捏! 代码 #include<iostream> using namespace std; int main(){ for(in
阅读全文
摘要:题面 题目传送门 前言 好诈骗…… 正文 众所周知,我们并不关心他们离开的顺序 换言之,士兵之间没有差别 所以,两个人相遇同时掉头等价于交换灵魂继续前进! 所以最大值与最小值将会非常明显…… 代码 #include<iostream> using namespace std; int n,l,ans
阅读全文
摘要:题面 题目传送门 前言 基本上和 P1004 思路一致…… 正文 直接贴个代码吧! 代码 DP: #include<iostream> #define int long long using namespace std; const int maxn=55; int m,n,a[maxn][maxn
阅读全文
摘要:题面 题目传送门 前言 再也不手搓高精了,调了三个点还是没出来,最后老老实实写 __int128 正文 显然行与行之间都是相互独立的子问题 区间 DP 捏! 我们记 表示取数取到只剩区间 的最优得分 初始化都是 考虑转移 区间 \([i,j]\
阅读全文
摘要:题面 题目传送门 前言 走迷宫 Promax,走两遍…… 正文 动态规划 对于这种迷宫图的转移,往往有 参考上述式子,注意到我们如果依照题意分两步实现的话,会存在
阅读全文
摘要:题面 题目传送门 前言 云落第一眼,矩形面积并? 第二眼,二维树状数组矩修单查 正文 第三眼,就查一个点啊,直接枚举每次更新对 是否有效即可 难以论说 代码实现 可以用结构体存入四个坐标以及编号 然后直接循环遍历即可 代码 #include<iostream> #define x
阅读全文
摘要:题面 题目传送门 前言 我嘞个诈骗图片啊 云落以为是象棋棋盘大小,没曾想 正文 显然有 DP 直接做 转移方程形如 注意一些小细节: 比如说禁入点可能越界,所以需要 inbound 函数判断一下 再
阅读全文
摘要:题面 题目传送门 前言 试机题,水题(梦开始的地方) 正文 一边哭,一边丢 代码 #include<bits/stdc++.h> using namespace std; int main(){ int a,b; cin>>a>>b; cout<<a+b<<endl; return 0; } 后记
阅读全文
摘要:题面 题目传送门 前言 试机题,水题(梦开始的地方) 正文 看这里一望无际—— 代码 #include<bits/stdc++.h> using namespace std; int main(){ printf(" ********\n"); printf(" ************\n");
阅读全文
摘要:ybtoj 高效进阶题库祭坛 ybtoj 高效进阶题解祭坛 题解传送门 密码:sunxuhetai2009 也许下一次见面,就是金牌导航了……
阅读全文
摘要:题面 题目传送门 前言 水题 疑似图论乱入 正文 说实话,为了追求更优秀的复杂度,云落已经很久没有写过邻接表力 链式前向星成为了主流…… 今天陪陪“老朋友” 无向边 然后其实就没力,相信各位也能秒杀吧! 代码 #include<iostream> #include<vector> #define e
阅读全文
摘要:题面 题目传送门 前言 无话可说,这是云落梦开始的地方 勾起了些许回忆呢~ 正文 可以说是一题多解,并且是百做不厌的好题兼典题 链表是相当好做的 当然,递归直接做也是可以的,毕竟一题多解嘛 其实算法思路不是很想多说 毕竟每次一个人出局,和删除一个节点是完全等效的 所以直接把约瑟夫问题抽象成一个循环链
阅读全文
摘要:题面 题目传送门 前言 还真是挺悲剧的,链表模板题后面跟一个链表应用题…… 正文 我们考虑一下 nxt 数组的本质是什么 对于单链表来说(虽然云落超级喜欢用双链表,就像火腿肠爱平衡树那样), 对应的就是 的后继 所以尽管字符串中存在 “[”或“]”,但是本质上不影响我们
阅读全文
摘要:题面 题目传送门 前言 其实就是一个模板题…… 正文 云落一开始算错复杂度了,挤破脑袋都没想明白怎么不用链表实现(甚至手搓一棵平衡树) 后来尝试性的使用动态数组 vector 嗯~很成功 最后发现是自己复杂度算错了,大悲 (看来有必要恶补一下小学数学了……) 代码 #include<iostream
阅读全文