Z_L_G
Z_L_G
全部文章
分类
总结(20)
训练赛(18)
题解(129)
归档
标签
去牛客网
登录
/
注册
又活一天?
你怎么可能做和别人相同的事情又同时超过别人呢?
全部文章
(共40篇)
算法入门-选点
题意 n个结点的二叉树,1为根,每个结点有一个权值 要选择尽可能多的点,选点要满足如下要求 选了根那子树中的所有选择的点要比根更大 左子树选了一个点,右子树选的点要比他小 思路 对于选择规则,其实就是满足左结点>右结点>根 不妨维护根右左的dfn序,这样子找的就是dfn序中最...
dp
dfn
最长上升子序列
最长上升子序列优化
2025-08-23
0
26
CFRound_1043_Div.3(赛时ABC,补DE)
#数位dp A 题意 两个字符串a,b,最终要将b添加到a上面 给定操作序列:如果是V就把b的当前位加入到a的开头,如果是D就加入到末尾 思路 模拟即可 代码 #include<bits/stdc++.h> #define endl '\n' using namespace st...
数位dp
dp
2025-08-23
0
30
NKweek-Round-105(赛时ABCDE,补F)
二进制按位拆贡献看太久,最后一题爆搜没敢写 A 题意 给定k,输出两个非负整数使得异或和为k 思路 签到,0和k 代码 int main(){ int k; cin >> k; cout << 0 << ' ' << ...
二进制拆位
dp
深度优先搜索
位运算
2025-08-18
0
36
算法入门-树
题意 给定一棵树,n个节点,你有k种颜色,对于任意相同颜色的点对,两个点之间的路径必须都和这两个点颜色相同,统计合法的染色方案个数 思路 由于树是连通的,所以如果要满足条件,一个节点的颜色要不然是一个全新的无人使用的颜色,要不然和自己的父亲相同 计数,考虑dp, 表示前i个节点使用了j种颜色...
dp
lca
2025-08-16
0
31
牛客多校02
赛时ABFIL,补D B 题意 长度为n的数组,操作一次会删掉其中的两个,并添加他们的异或和,请问一次操作后会不会减小 思路 就是判断任意两个的异或的最高位会不会小于等于这两个数中大的的最高位 如果两个数异或变得更小就一定不行,最多有63位,所以如果超过63个数一定会有两个数最高位相同,异或...
背包
并查集
位运算
dp
2025-07-25
0
46
算法入门-[NOIP2003]加分二叉树
题意 一个1-base二叉树,n个结点,中序遍历为(1,2,3,...,n),每个点有一个val,选择一个子树的加分规则如下: 如果某个子树为空,就视为val=1,叶子节点分数为本身的分数 求符合中序遍历的加分最高的二叉树,输出加分和前序遍历 思路 对于一段中序遍历序号,总需要选择一个根,切分...
区间dp
dp
2025-07-09
0
35
算法入门-树学
题意 一个树,n个结点,每个结点的深度是到根的距离,整棵树的价值是所有点的深度和 求选择哪个点为根时可以使深度和最小 思路 让每一个点为根跑一遍dfs就可以维护出每个点的深度和整个树的深度和 但是让每一个点跑一遍复杂度会爆炸 能不能只跑一遍?如果只跑一遍,根变换怎么办 对于一个选定根的树,如果...
深度优先搜索
dp
2025-07-09
0
22
算法入门-[NOIP2018]货币系统
#动态规划 #完全背包 题意 给定一个n种面值组成的货币系统,如果其中某一个面值可以由系统中的其它货币表示就认为这个面值是冗余的 求出这个货币系统去除冗余后最少有几种面值 思路 按照题意完全背包即可 注意判断一个货币是否冗余,是在使用它之前判断是否已经被表示 代码 #include<b...
dp
完全背包
2025-07-08
0
38
算法入门-[SCOI2009]粉刷匠
#动态规划 #多次dp 题意 有n块木板,每块木板有m格,你可以粉刷t次,每次可以粉刷连续的若干格,不能覆盖 给定正确的粉刷方案,请问最多可以刷对多少格 0<=n,m<=50,t<=2500 思路 如果只有一块木板,可以线性dp解决 表示刷i次,刷到j 对于若干块板子,如果...
dp
多次dp
2025-07-08
0
33
脑洞大开-打砖块(brike)
#妙妙题 #动态规划 题意 倒置金字塔形的砖块墙,共有n行,第i行有n-i+1块砖 每块砖有价值,敲掉一块砖需要敲掉它左上和右上的两块砖 敲掉m块砖能获得的最大价值总和是多少 n<=50,m<=500 思路 原数据读入形式如下 1 2 3 4 5 1 2 3 4 1 2 3...
妙妙题
dp
2025-07-08
0
36
首页
上一页
1
2
3
4
下一页
末页