题解 联盟noip
P3188 [HNOI2007] 梦幻岛宝珠-题解
20230918 P3188 [HNOI2007] 梦幻岛宝珠 Statement 01背包, \(n \le 100\),但是容量 \(m \le 2^{30}\)。 物体的体积可以写成 \(a \times 2^b(a \le 10,b \le 30)\) Solution 发现 \(W\) 太 ......
Azamon Web Services 题解
Azamon Web Services 看到目前题解都是 \(O(n^2)\) 的复杂度,来一发 \(O(nlogn)\) 的贪心题解。 思路很简单,先求经过至多一次的交换后,最小的字符串 \(S\)。再和 \(T\) 比较,如果小于就输出,否则无解。 问题转化成了两个子问题: 求经过至多一次的交换 ......
CF762C Two strings 题解
洛谷传送门 CF 传送门 题意 给你两个字符串 \(a\) 和 \(b\),你可以在 \(b\) 中删去尽量短的子段,使得 \(b\) 是 \(a\) 的子序列。求出最后的 \(b\)。 思路 真是奇了怪了,这种题洛谷题解里竟然没有双指针的做法? 首先考虑判断一个字符串 \(b\) 是否是另一个字符 ......
Alice and Hairdresser题解
Alice and Hairdresser 第一眼线段树,第二眼好像可以直接用数组模拟。 当一根头发长于 $l$,它再长多长其实都一样,所以不用开 long long。 如果一根新的头发长到比 $l$ 长,那可以分成以下几种情况: 如果它左侧和右侧只有一个元素大于 $l$ ,那答案不变。 如果左侧和 ......
罪人挽歌 题解
罪人挽歌 题解 简化题意: 给定 \(n\) 个二元组,第 \(i\) 个二元组的值为 \((a, b)\),保证任意两个二元组都不相同。 求是否存在一个二元组的排列,使得这些二元组满足对于任意 \(1 \leq i < n\),有 \(A_i = A_{i+1}\) 或 \(B_i = B_{i+ ......
「题解」BZOJ 3305 Catalan 数
\(f_{i,j}=f_{i-1,j-1}+f_{i-1,j+1}(j+1)\) 看成生成函数就有 \(F_n=xF_{i-1}+F_{i-1}'\),思路是凑微分,想凑出一个 \(G_i\) 是和 \(F_i\) 有关的,然后 \(G_i\) 有比较简单的形式。 这里就 \(G_n=F_n\tim ......
[题解]Pa?sWorD(2023ICPC网络预选赛第一场I题)
I Pa?sWorD 下次不要认为2e8可以莽过去了 思路 计数DP + 状压(其实也可以不压) + 前缀和优化(倒着写是差分) dp[i][j][k]表示第i位填j,状态为k的方案数 k这一维用于状态压缩,表示 数字、大写、小写 是否出现 前缀和优化:在处理?的时候,暴力会有62X62X8的单次复 ......
题解 P6821 [PA2012] Tanie linie
本来想写 wqs 二分来着,然后推不出 dp 方程,摆烂了。 题目描述 给定含 \(n\) 个数的序列,求至多 \(k\) 个不相交子段的和的最大值。 具体思路 由于选 \(k\) 堆连续的数,因此一堆连续的符号相同的数,只有可能是同时被选或者同时不被选。 因此我们先对原序列预处理一遍,将相同符号的 ......
Death DBMS题解(AC自动机)
题目传送门 CF1437G 好题 观察这道题,发现有关字串的题目,一般来说,这种题都要构建\(AC\)自动机,所以考虑构建。 构建之后,原来的所有 \(fail\) 是一个树形结构。 解法 \(1\): 考虑从询问入手,那么对于每一个询问,等价于就是查询每一个 \(Q_i\) 包含的后缀的最大值,再 ......
题解 LOJ2549【[JSOI2018] 战争】
problem 给你两个平面凸多边形 \(A,B\),\(Q\) 次询问,每次询问是一个向量 \(\vec v\),回答 \(A\) 与 \(B + \vec v\) 是否有交。\(n,Q \leq 10^5\)。 solution 观察闵可夫斯基和(Minkowsky sum)的定义,若将这个运算 ......
P2679 [NOIP2015 提高组] 子串
注意 \(A\) 中取相同位置子串划分方式不同也算作不同的方案。 令 \(f_{i,j,l,0/1}\) 表示 \(A\) 中前 \(i\) 个字符,取出 \(l\) 个子串,拼成了 \(B\) 中前 \(j\) 个字符,第 \(i\) 个字符取/不取的方案数。 不取直接累加 \(A\) 中上一个字 ......
CF70D Professor's task 题解 & 动态凸包板子
CF70D Professor's task 题解 前言 此篇题解用的是 \(Andrew\),不想看这种做法的可以绕道。 题意 动态凸包板子题。 维护动态凸包。两种操作,加一个点或查询一个点是否在凸包内。 题解 首先你得会静态二维凸包。 维护二维凸包的方法挺多的,比如什么 \(Andrew\) 算 ......
P1082 [NOIP2012 提高组] 同余方程
转载自这里 问题转化 题目问的是满足 \(ax \bmod b = 1\) 的最小正整数 \(x\)。(a,b是正整数) 但是不能暴力枚举 \(x\),会超时。 把问题转化一下。观察 \(ax \bmod b = 1\),它的实质是 \(ax+by=1\):这里 \(y\) 是我们新引入的某个整数, ......
[ABC320E] Somen Nagashi题解
2023-09-16 题目 题目传送门 翻译 翻译 难度&重要性(1~10):4 题目来源 AtCoder 题目算法 优先队列 解题思路 水题一道。 需要两个优先队列: 因为每一次是队首的人拿到面条,即队列中编号最小的拿面条,就用一个优先队列用来维护当前队列中的编号最小的人。 由于每一次拿了面条后再 ......
【题解】AtCoder-ABC320
AtCoder-ABC320A Leyland Number 依题意计算。 提交记录:Submission - AtCoder AtCoder-ABC320B Longest Palindrome 直接 \(O(n^2)\) 枚举,\(O(n)\) 判断。 提交记录:Submission - AtC ......
[ABC320F] Fuel Round Trip 题解
题意 在坐标轴上给定 \(N\) 个点,坐标依次为 \(X_1, X_2, \cdots, X_N\),你需要从原点前往 \(X_N\) 并折返,其中在第 \(1\) 个到第 \(N - 1\) 个点上有加油站,其中第 \(i\) 个加油站可以花费 \(P_i\) 购买 \(F_i\) 升汽油,汽油 ......
合并果子题解-C++ STL priority_queue容器的使用
说明:本博文关于priority_queue容器的说明来源于www.cnblogs.com/fusiwei/p/11823053.html 本人是刚刚接触算法竞赛的萌新,如果有大佬发现了错误,还望指出(真的有人会看本蒟蒻的博文吗) 这是我的第一篇博文,更多是作为测试 以后会将博客作为笔记记录学习的体 ......
P2669 [NOIP2015 普及组] 金币
题目背景 NOIP2015 普及组 T1 题目描述 国王将金币作为工资,发放给忠诚的骑士。第一天,骑士收到一枚金币;之后两天(第二天和第三天),每天收到两枚金币;之后三天(第四、五、六天),每天收到三枚金币;之后四天(第七、八、九、十天),每天收到四枚金币……;这种工资发放模式会一直这样延续下去:当 ......
P1009 [NOIP1998 普及组] 阶乘之和
题目描述 用高精度计算出 S = 1! + 2! + 3! + \cdots + n!S=1!+2!+3!+⋯+n!(n \le 50n≤50)。 其中 ! 表示阶乘,定义为 n!=n\times (n-1)\times (n-2)\times \cdots \times 1n!=n×(n−1)×( ......
CF1542E1 Abnormal Permutation Pairs (easy version) 题解
CF1542E1 Abnormal Permutation Pairs (easy version) 题解 不会 Hard version 对于第一个限制字典序,我们可以考虑枚举前 \(i\) 位相同,然后考虑后 \(n-i\) 位。我们只需要保证 \(p_{i+1} < q_{i+1}\) 即可。 ......
CF1852B Imbalanced Arrays 题解
CF1852B Imbalanced Arrays 题解 Links 洛谷 Codeforces Description 对于一个给定的长度为 \(n\) 的数组 \(A\),定义一个长度为 \(n\) 的数组 \(B\) 是不平衡的当且仅当以下全部条件满足: \(-n \leq B_{i} \le ......
LeetCode-Java题解 209. Minimum Size Subarray Sum
题目地址:209. Minimum Size Subarray Sum 解题思路: 看到这道题,心里本身是有双指针这个概念的,但是不知道怎么用,脑子里第一反应就是暴力解法,双for一把梭,然后时间就超时了...看了题解才知道滑动窗口这个解法,不禁直呼妙啊!感觉和双指针非常类似,其核心点在于避免了暴力 ......
题解 UVA1566 John
题目描述 两个人轮流取石子,每人每次可以 \([1,a_i]\) 个石子,最后取完石子的人为负。问最终谁会赢。 具体思路 若堆数为 \(1\) 且该堆数量为 \(1\),先手必败。 若堆数不为 \(1\) 且每堆数量都为 \(1\),若有奇数堆,先手比败,否则,先手必胜。 若堆数不为 \(1\),转 ......
洛谷题解 | P5660 数字游戏
目录 题目描述 输入格式 输出格式 输入输出样例 说明/提示 题目简化 题目思路 AC代码 题目描述 小 K 同学向小 P 同学发送了一个长度为 8 的 01 字符串来玩数字游戏,小 P 同学想要知道字符串中究竟有多少个 1。 注意:01 字符串为每一个字符是 0 或者 1 的字符串,如“101 ......
洛谷题解 | P1046 陶陶摘苹果
目录 题目描述 输入格式 输出格式 输入输出样例 说明/提示 题目思路 AC代码 题目描述 陶陶家的院子里有一棵苹果树,每到秋天树上就会结出 10 个苹果。苹果成熟的时候,陶陶就会跑去摘苹果。陶陶有个 30 厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。 现在已知 10 个 ......
洛谷题解 | P1051 谁拿了最多奖学金
目录 题目描述 输入格式 输出格式 输入输出样例 提示 题目思路 AC代码 题目描述 某校的惯例是在每学期的期末考试之后发放奖学金。发放的奖学金共有五种,获取的条件各自不同: 1. 院士奖学金,每人 8000 元,期末平均成绩高于 80 分(>80),并且在本学期内发表1篇或1篇以上论文的学生均可 ......
【22NOIP提高组】建造军营(barrack)
include<bits/stdc++.h> using namespace std; using ll=long long; const ll M = 1e9+7; ll fast_pow(ll a,ll b){ ll res = 1; while(b>0){ if(b&1)res=(resa)% ......
[ABC313F] Flip Machines 题解
题意 有 \(N\) 张卡片,第 \(i\) 张卡片正面印着一个数 \(A_i\),反面印着一个数 \(B_i\)。一开始所有数正面朝上。 有 \(M\) 种操作,第 \(i\) 种操作表示为: \(50\%\) 的概率将卡片 \(X_i\) 翻转,否则将 \(Y_i\) 翻转。 求一个集合 \(S ......
题解 P8920 『MdOI R5』Variance
题目描述 给你两个长度为 \(n\) 的序列 \(a\) 和 \(b\),让你选 \(n\) 个 \(c_i \in [a_i,b_i]\),使得 \(\frac{1}{n} \sum_{i=1}^n (c_i- \overline c)^2\) 最大。 具体思路 首先我们从方差的定义出发,方差代表 ......