摘要:
原题链接 题解 dp的核心在于,增加一颗根节点时,以其为根节点的$ ans = max( \sum_{}^{}子节点不选 + r[new],max(\sum_{}^{}子节点选 , \sum_{}^{}子节点不选) ) $ code #include<bits/stdc++.h> using nam 阅读全文
posted @ 2024-01-02 21:27
纯粹的
阅读(9)
评论(0)
推荐(0)
摘要:
原题链接 题后感 码量也太大了吧 小记 题解网上有,但是有关这个lazytag我要提一嘴,我建议不要记它,你只需知道修改的区间没有整体破坏时,其内部的元素内容暂不做修改 code 码量真大 #include<bits/stdc++.h> #define ll long long using name 阅读全文
posted @ 2024-01-02 20:27
纯粹的
阅读(10)
评论(0)
推荐(0)
摘要:
原题链接 方法1: 有点像剪枝。 \(i\)从\(1\)~\(n\)循环,\(j\)同理,如果\(a[i]+b[j]\)放不进去,那么\(a[i]+b[j+1]\)也放不进去 code #include<bits/stdc++.h> using namespace std; int a[100005 阅读全文
posted @ 2024-01-02 18:48
纯粹的
阅读(14)
评论(0)
推荐(0)
摘要:
原题链接 首次尝试用chatgpt帮我写注释 code #include<bits/stdc++.h> using namespace std; int main() { int n; // 声明整数变量 n,用于存储输入序列的长度 cin >> n; // 读入序列长度 // 定义两个优先队列,q 阅读全文
posted @ 2024-01-02 16:35
纯粹的
阅读(17)
评论(0)
推荐(0)
摘要:
原题链接 读题 所有人的速度相同,也就是说,如果大家都在动,那么大家永不相交。所以相交的情况有且仅有b到终点了,而a还在b的后面,且a的终点在b的后面 将上述情况模型化后,就是求每个人行动的区间包含了多少人,然后对每个人求和 题解 再度简化,对于第\(i\)人来说,就是求\(r\)小于它且\(l\) 阅读全文
posted @ 2024-01-02 11:13
纯粹的
阅读(38)
评论(0)
推荐(0)
摘要:
原题链接 题解链接 code #include<bits/stdc++.h> using namespace std; int main() { int t; cin>>t; while(t--) { int n; cin>>n; if(n==1) { puts("1"); continue; } 阅读全文
posted @ 2024-01-02 10:26
纯粹的
阅读(53)
评论(0)
推荐(0)

浙公网安备 33010602011771号