首页 > TAG信息列表 > 待补

雅礼集训系列套题 做题记录

2017 D1 市场 题意 维护一个长度为 \(n (1\leq n \leq 10^5)\) 的数列。 支持区间加,区间整除,区间求min 区间求和。 思路 将除法操作转化为减法,将「序列的离散程度」作为 势能中的一部分。 而不仅仅只是值域作为势能,从而具有更加优秀的均摊性质。 规避了加法对势能的影响,当然,对于还

【基础】广度优先搜索 & 深度优先搜索 (待补)

DFS 二叉树的遍历 class Solution(object): def maxDepth_dfs(self, root): if not root: return 0 queue = [root] height = 0 while queue: currentSize = len(queue) node = queue.pop(0)

2022牛客寒假算法基础集训营2 ACEFHIK(剩余待补)

A. 小沙的炉石 链接:https://ac.nowcoder.com/acm/contest/23477/A 来源:牛客网 题目描述 小沙热衷于玩决斗法,今天他和他的弟弟玩起了炉石,弟弟特别特别的菜,但是为了照顾弟弟的自尊心,所以小沙想要恰好将弟弟斩杀。 恰好斩杀:弟弟的血量恰好变成0。 小沙当前的手上有nn张法术进攻牌,每张

CSP 后多校十三(反悔贪心待补)

A. 嗑瓜子 简单的概率与期望,有很多方法来做. 可以选择正推概率,最后乘一个操作次数就是贡献,思路来自沈老师. 可以选择一遍推概率,一遍推步数( 其实没有什么卵用 ),从而得到期望,思路来自 \(fengwu\). 可以选择倒推期望,从结果入手,最后回到状态起点就是答案,思路来自 \(Amx\). A_code #i

CSP 后多校十一(多项式、原根待补)

NOIP2018 感觉不是很难,一开始想的是二分最多能选多少个物品,然后一元二次函数直接 \(O(1)\) 出结果. 但是被卡精度了,其实只用二分每个物品最多花多少钱,画两个一元二次函数就行了. 因为两个物品的花费越接近越优,于是就完了. CSP 2019 多项式不会. CSP 2020 考场上想到可能是数位\(dp

吴恩达_MIT_MachineLearning公开课ch02(待补)

回顾回归 我们在ch01使用gradient descent[梯度下降],实现了linear regression[回归]问题。 简单地来说,我们在读入数据后提取出X[Varibale,factors etc]作为我们的变量,或者说就是影响一个问题的一系列因素 和 Y[标签]问题的解。 我们定义了损失函数,函数只包含了变量theta,我们

2021CSP-S题解(待补)

T1: 这次最大的失误就是误判T1不可做... 因为每架飞机只要有空闲的廊桥就可以就可以停靠,以此可以推出一个结论:当廊桥数量增加时,已经停靠的飞机的位置是不会发生变化的。我们可以用两个优先队列求出有无限多个廊桥时,每架飞机停靠的位置。只有停靠的位置小于等于当前廊桥数的飞机才

noip模拟82(待补)

A. 魔法 随便写. A_code #include<bits/stdc++.h> using namespace std; namespace BSS{ #define ll int #define lf double #define ull unsigned ll #define mp make_pair #define lb lower_bound #define ub upper_bound #define lbt(x) ((x)&(-(x))) #defin

noip模拟81(待补)

A. 语言 乱写就行. A_code #include<bits/stdc++.h> using namespace std; namespace BSS{ #define ll long long #define lf double #define ull unsigned ll #define lbt(x) ((x)&(-(x))) #define mp make_pair #define lb lower_bound #define ub upper_bound

noip模拟78(dp待补,扫描线待补)

A. F 签到题,随便写. B. S 交换次数可以被联想成逆序对. 我们可以回想归并排序的求解过程,发现有序的依旧有序,无序的才会被交换. 本题中类比过来就是,有序的就是那些相同颜色的,也就是相同颜色的不会换位置. 于是可以写出 \(dp_{i,j,k,c}\) 表示 \(R\) 填了 \(i\) 个,\(G\) 填了 \(j\)

noip模拟76(差分约束待补,导数待补)

A. 洛希极限 考场上想的还是太少了. 发现每个点被转移,最优肯定是从自己斜下方转移. 很直接的想法就是线段树,发现每个点只会取最优的,于是可以做一个单调队列. A_code #include<bits/stdc++.h> using namespace std; namespace BSS { #define ll int #define ull unsigned ll #d

noip模拟74(待补)

A. 自然数 线段树二分在之前的题目中出现过,但是我是用别的方法写的. 所以这个题在我这里就死了. 固定左端点应该是能想到的,因为这样的套路很多,但是自己没想到,不应该. A_code #include<bits/stdc++.h> using namespace std; namespace BSS { #define ll long long #define ull

noip模拟73.5(待补)

这里是空的,啥也没写. A. group 轮廓线/插头 \(dp\). B. ZZH与计数 矩阵加速递推. C. 中国象棋 \(dp\). D. 奇妙的 Fibonacci 数论.

noip模拟72(待补)

T1 出了个大阴间题 状压 \(dp\),设 \(f_{s,k}\) 表示 \(s\) 状态下,当前的 \(max_a -\) 最大值等于 \(j\) 的所有代价. 有一个不会对分数有什么影响的规律,就是 \(k\) 永远 \(\le 1\). A_code #include<bits/stdc++.h> using namespace std; namespace BSS { #define ll long long

noip模拟71(待补)

T1 出了个大阴间题 状压 \(dp\),设 \(f_{s,k}\) 表示 \(s\) 状态下,当前的 \(max_a -\) 最大值等于 \(j\) 的所有代价. 有一个不会对分数有什么影响的规律,就是 \(k\) 永远 \(\le 1\). A_code #include<bits/stdc++.h> using namespace std; namespace BSS { #define ll long long

noip模拟69(待补)

A. 石子游戏 B. 大鱼吃小鱼 C. 黑客 水题没做出来,感觉自己考试态度和状态不太好了. 要及时调整. C_code #include<bits/stdc++.h> using namespace std; namespace BSS { #define ll long long int #define ull unsigned ll #define lf double #define lbt(x) (x&(-x)) #def

noip模拟70(待补)

A. 暴雨 B. AVL 树 C. 挖掘机 想不到倍增. 已经肯定处理每一行的复杂度都是在 \(O(1)\) ~ \(O(logn)\) 的复杂度了. 也知道应该是处理每个起点之后的东西. 可偏偏不知道应该用什么算法来解决. 哪怕把倍增告诉我也不知道如何处理,太菜... 这个题把没有用的删去之后,确实就是很显然的

noip模拟67(待补)

A. 数据恢复 又一次徘徊于正解的边缘. 什么都可以想到,但偏是实现的方法不对. 本来可以直接用 \(set\) 的东西结果非要打线段树. 别的东西推推性质就行了. A_code #include<bits/stdc++.h> using namespace std; namespace BSS { #define ll long long #define ull unsigned ll

noip模拟63(待补)

A. 电压机制 题目可以迅速转化为:删掉一条边使得图变为一个二分图. 然而这并没有什么用.. 另外可以发现我们必须删掉一条边,这条边满足是所有奇环的公共边,而且不能是偶环的边. 所以可以考虑差分实现. A_code #include<bits/stdc++.h> using namespace std; namespace BSS { #defin

noip模拟60(待补)

A. 整除 式子还没推出来,先鸽着.. B. 糖果 很显然的矩阵乘,但是学习了倍增 \(dp\). 令 \(g_{i,j}\) 表示在同一个 \(a_i\) 的大小下,选了前 \(2_i\) 种,占了 \(j\) 个位置的方案数. 转移方程:\(g_{i,j}=\sum\limits_{k=0}^{k<=j}g_{i-1,k}*g_{i-1,j-k}*C_j^k\) 后面的 \(C_j^k\) 可以理

noip模拟59(待补)

A. 柱状图 B. 应急棍 C. 擒敌拳 考场上测试点分治切了,单调队列 \(+\) 斜率优化. 每次枚举队列里的所有元素就行了. 正解是李超线段树. C_code #include<bits/stdc++.h> using namespace std; namespace BSS { #define ll long long int #define ull unsigned ll #define lf do

noip模拟58(待补)

A. Lesson5! B. 贝尔数 考场上只差一个矩阵快速幂. 还是对快速幂的模型掌握的不够好. 快速幂一定是有周期性的,是有规律可寻的. 而本题中可以看出是对连续的一端区间取模. 那么一定就应该是一段周期性的序列. 每次可以选择把序列向左移动 \(P\ -\ 1\) 个格子. 于是快速幂就很可做了

noip模拟55(待补)

A. Skip 斜率一窍不通,先咕着. B. String 改不出来,先咕着. C. Permutation 数学题,找规律推式子. C_code #include<bits/stdc++.h> using namespace std; namespace BSS { #define ll long long int #define lf double #define ull unsigned ll #define mp make_pair #define

noip模拟52(联赛后知识待补)

A. 异或 签到题. A_code #include<bits/stdc++.h> using namespace std; namespace BSS { #define ll long long int #define lf double #define lbt(x) (x&(-x)) #define re register ll #define ull unsigned ll #define mp make_pair #define lb lower_bound

noip模拟50(待补)

A. 第零题 第一眼给人一种特别水的感觉,我甚至以为跑一个最短路就行了.. 实际上确实也不算特别难,但是没有只跑一个最短路那么简单. 打表发现了一个交换 \(s\) 和 \(t\) 不会影响答案的性质. 又发现了从 \(s\) 走到 \(t\) 的经历和从 \(1\) 走到 \(t\) 有一部分是重合的部分的性质.