合集-模拟

摘要:原题链接 题解 细节很多的树形dp,请看代码 code #define ll long long #include<bits/stdc++.h> using namespace std; ll sit[100005]={0}; ll f[100005]={0}; vector<ll> G[10000 阅读全文
posted @ 2024-02-20 14:22 纯粹的 阅读(13) 评论(0) 推荐(0) 编辑
摘要:原题链接 题解 一开始我想的是每个节点要么建,要么不建,可是这样一来不好转移,因为有如下情况(黑色代表建站) 于是我们换一个角度思考,我们发现一个点要能通网,有三种情况: 1.自己建站 2.儿子建站 3.父亲建站 Code #define ll long long #include<bits/std 阅读全文
posted @ 2024-02-20 17:15 纯粹的 阅读(12) 评论(0) 推荐(0) 编辑
摘要:原题链接 题解 由于执行收获操作后所有数组清零,清零后的数组最快捷的加分方法是加一收获一,所以就是第一次加多少次 然后第一次加完最多收获 n 分,相当于清零后执行总共 2n 次 所以只需要判断第一次加 &[0,2n-1]& 次加后收获时能收获多少就行了 code,注意细节 #incl 阅读全文
posted @ 2024-02-23 16:05 纯粹的 阅读(8) 评论(0) 推荐(0) 编辑
摘要:原题链接 题解 这种让来让去让我想到了二分图!! 注意细节!!剩余的就是模拟了 code #include<bits/stdc++.h> using namespace std; int stu[55],gohome[55],know[55][55]; int n; int belong[55]={ 阅读全文
posted @ 2024-03-08 15:48 纯粹的 阅读(7) 评论(0) 推荐(0) 编辑
摘要:原题链接 题解 请看清楚题目再下手!! 每次都可以且必须派 [1,m] 条船,然后计算每次任务的最大值,最后求和 code #include<bits/stdc++.h> using namespace std; #define ll long long int main() { ll n, 阅读全文
posted @ 2024-03-08 20:34 纯粹的 阅读(50) 评论(0) 推荐(0) 编辑
摘要:原题链接 题解 一道搜索+模拟 搜索每一位可以放哪个值([0,9]),然后累加搜索下一位 注意细节 code #include<bits/stdc++.h> using namespace std; #define ll long long ll f[10][105]={0}; ll n,k 阅读全文
posted @ 2024-03-08 20:37 纯粹的 阅读(25) 评论(0) 推荐(0) 编辑
摘要:原题链接 题解 太巧妙了!! code #include<bits/stdc++.h> using namespace std; int main() { int n,w; cin>>n>>w; int score[605]={0}; for(int i=1;i<=n;i++) { int x; c 阅读全文
posted @ 2024-03-09 19:15 纯粹的 阅读(41) 评论(0) 推荐(0) 编辑
摘要:原题链接 题解 直接插在它后面,这种数据结构是链表 赛时明明想到了链表,但是写的一团糟。。 对于链表,最简单的就是用map了 code #include<bits/stdc++.h> using namespace std; int a[200005]; map<int,int> head,to; 阅读全文
posted @ 2024-03-10 00:20 纯粹的 阅读(33) 评论(0) 推荐(0) 编辑
摘要:原题链接 题解 话说dalao们是怎么做这么快的?? 问从含有字符串的背包中取出一些字符串(每个背包只能娶一个),问能拼凑出给定字符串的最小代价 由于这里的拼凑是有顺序的,即如果b能拼上的是中间一块,那么a一定拼的是前边一块,这种拼凑让人想到了背包 这里是字符串的背包,其实是一样的,先判断能不能放进 阅读全文
posted @ 2024-03-10 00:25 纯粹的 阅读(20) 评论(0) 推荐(0) 编辑
摘要:原题链接 题解 得分有哪些条件?颜色相同,下标同奇或同偶, 由此我们对数进行sort分类,把颜色相同的放一起,然后颜色内部按下标小到大排 然后就是很关键的分数计算公式 (x+z)×(numberx+numberz). 可以分解为 \(\t 阅读全文
posted @ 2024-03-10 01:06 纯粹的 阅读(17) 评论(0) 推荐(0) 编辑
摘要:原题链接 题解 把覆盖的区域变成黑色,然后在区域内划几条竖线,一定能分成若干个矩形左右拼接而成的图形 想象一条竖着的线,它的运动轨迹是不连续的,即他会从一个矩形的竖边跳到另一个矩形的竖边,每跳一条竖边都会对借着竖边归属的矩形的信息对这条竖边的激活块进行修改 当竖线的绝对位置发生移动时,计算激活区间产 阅读全文
posted @ 2024-03-10 21:31 纯粹的 阅读(30) 评论(0) 推荐(0) 编辑
摘要:原题链接 题解 原题可以理解为 找出含有最小边权的边双连通分量,然后找出那个边对应的两个节点的第二条路 本题我学会了: 1.代码命名风格要含义清晰,不然很容易搞混,包括变量,自定义函数 2.建边的时候尽量用链表式,因为dalao都在用,看题解方便一点 code #define ll 阅读全文
posted @ 2024-03-12 23:41 纯粹的 阅读(9) 评论(0) 推荐(0) 编辑
摘要:原题链接 题解 已知对于一个长度为 n 的连续+1型上升序列而言,其满足要求的子序列有2n个 若我们在该序列下标为 k 的右边插入一个绝对大于左边,绝对小于右边的数,满足要求的子序列会增加 2k 个 由此想到极限构造加二进制,其中最高位的一不用管,其余的每一位生成 阅读全文
posted @ 2024-03-13 23:47 纯粹的 阅读(5) 评论(0) 推荐(0) 编辑
摘要:原题链接 题解 深搜带上 suma ,然后把经过的 sumb 放入栈里, 二分查找 code #define ll long long #include<bits/stdc++.h> using namespace std; inline void read(ll &x) { x 阅读全文
posted @ 2024-03-14 15:45 纯粹的 阅读(13) 评论(0) 推荐(0) 编辑
摘要:原题链接 题解 最大值最小 二分可行性判断: 二分间断值 len  如果原序列 aiai1>len 双指针判断有没有 b+f 使得 ailen<=b+f<=ai1+len 由于只能使用一次,所以若使用两次 阅读全文
posted @ 2024-03-14 20:36 纯粹的 阅读(25) 评论(0) 推荐(0) 编辑
摘要:原题链接 题解 叉积的运用,scanf控制输入格式 code #include<bits/stdc++.h> using namespace std; struct node { int x,y; }a[100005]; int x[200005],y[200005]; int main() { f 阅读全文
posted @ 2024-03-20 16:18 纯粹的 阅读(7) 评论(0) 推荐(0) 编辑
摘要:原题链接 题解 考虑以下决策,绝对最优: 1.按巧克力块的大小排序,先把大的块分出来。 2.一开始完整的巧克力是块矩形,取出一个正方形后,可以分为下方和右侧两个矩形,然后把这两个矩形放入优先队列。 3.分割下一个矩形时,从队列中取出 最短边最长的那个矩形,在这个矩形上做步骤2一样的分割 为什么这样的 阅读全文
posted @ 2024-03-25 13:56 纯粹的 阅读(11) 评论(0) 推荐(0) 编辑
摘要:原题链接 题解 1.模拟+贪心,我们一个一个点添加,一层一层遍历,每个节点对当前层的接口数的贡献是-1 如果是节点2,对下一层接口数贡献为2,节点1贡献为1 如果当前层接口数用完了就下一层,初始值层0设为1 在时间复杂度合理的情况下无所不用其极 code #include<bits/stdc++.h 阅读全文
posted @ 2024-03-29 14:02 纯粹的 阅读(84) 评论(0) 推荐(0) 编辑
摘要:原题链接 题解 1.模拟题,注意细节 2.时间复杂度 O(n·sqrt(n)) code #include<bits/stdc++.h> using namespace std; int n; string s; int check(int len) { int flag=0; for(in 阅读全文
posted @ 2024-03-29 15:16 纯粹的 阅读(40) 评论(0) 推荐(0) 编辑
摘要:原题链接 题解 1.最短路径一定可以表示成经过若干端点的线段,所以我们把端点单独提出来,这样就变成了计算几何形式的最短路 2.如果两个端点能相连,代表他们之间没有墙阻挡 code #include<bits/stdc++.h> using namespace std; int n; struct { 阅读全文
posted @ 2024-03-29 16:07 纯粹的 阅读(17) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示