01 2024 档案

摘要:题目链接 A. 记录最大值和个数,和次大值 遍历数组,不是最大值,输出该数与最大值的和 是最大值,则讨论最大值个数,若只有一个,输出该数与次大值的和,否则输出最大值的两倍 #include <bits/stdc++.h> using namespace std; #define int long l 阅读全文
posted @ 2024-01-31 17:19 WW爆米花 阅读(15) 评论(0) 推荐(0) 编辑
摘要:题目链接 D. 贪心思路初步是对的 最大配最小 但是,最小也可能配最小 比如 999 1000 1 2 这个例子,就是最小配最小 还是极端到极端的问题,两个极端都要考虑 #include <bits/stdc++.h> using namespace std; #define int long lo 阅读全文
posted @ 2024-01-30 21:54 WW爆米花 阅读(9) 评论(0) 推荐(0) 编辑
摘要:A. 根据题目模拟 #include <bits/stdc++.h> using namespace std; #define int long long const int N=1e5+10; void solve(){ int a,p;cin>>a>>p; if(p<16)a=max(0ll,a 阅读全文
posted @ 2024-01-29 20:12 WW爆米花 阅读(22) 评论(0) 推荐(0) 编辑
摘要:训练赛: 2024 蓝桥杯模拟赛 1 (div1) 题解 SMU-XCPC 题解 SMU 2024 winter round1 题解 题单 牛客 题解 自主训练 cf 题解 cf 题解 cf 题解 cf 题解 cf 题解 阅读全文
posted @ 2024-01-27 19:01 WW爆米花 阅读(8) 评论(0) 推荐(0) 编辑
摘要:题目链接 A. 根据正方形4个角的特性,可以把它们排序处理, 得到长和高,相乘得面积 #include <bits/stdc++.h> using namespace std; #define int long long const int N=1e5+10; bool cmp(pair<int,i 阅读全文
posted @ 2024-01-27 19:01 WW爆米花 阅读(7) 评论(0) 推荐(0) 编辑
摘要:题目链接 A. 直接输出 #include <bits/stdc++.h> using namespace std; #define int long long const int N=1e5+10; void solve(){ cout<<"Good code is its own best do 阅读全文
posted @ 2024-01-26 21:37 WW爆米花 阅读(4) 评论(0) 推荐(0) 编辑
摘要:题目链接 A. 把标准字符串和输入字符串排序,看是否相等 #include <bits/stdc++.h> using namespace std; #define int long long const int N=1e5+10; void solve(){ int n;cin>>n; strin 阅读全文
posted @ 2024-01-25 22:04 WW爆米花 阅读(6) 评论(0) 推荐(0) 编辑
摘要:题目链接 A. 判最大的数是不是另外两个数的和 #include <bits/stdc++.h> using namespace std; #define int long long const int N=1e5+10; void solve(){ int a,b,c;cin>>a>>b>>c; 阅读全文
posted @ 2024-01-25 20:28 WW爆米花 阅读(4) 评论(0) 推荐(0) 编辑
摘要:题目链接 A. 给定n后,中位数后面有几个数是确定的 从后往前,拿出必须的几个数后就可以拿一个中位数 #include <bits/stdc++.h> using namespace std; #define int long long void solve(){ int n,k;cin>>n>>k 阅读全文
posted @ 2024-01-24 22:09 WW爆米花 阅读(9) 评论(0) 推荐(0) 编辑
摘要:题目链接 A. 总和-最小值-最大值即为中间数 #include <bits/stdc++.h> using namespace std; #define int long long void solve(){ int a,b,c;cin>>a>>b>>c; cout<<a+b+c-min({a,b 阅读全文
posted @ 2024-01-24 21:44 WW爆米花 阅读(7) 评论(0) 推荐(0) 编辑
摘要:题目链接 F. 区间修改,单点查询,考虑用树状数组 可以维护每个点需要操作的次数 然后直接对询问的点进行操作 #include <bits/stdc++.h> using namespace std; const int N=2e5+10; #define int long long struct 阅读全文
posted @ 2024-01-23 19:22 WW爆米花 阅读(8) 评论(0) 推荐(0) 编辑
摘要:题目链接 A. 可用map标记这几个字符,判在不在即可 #include <bits/stdc++.h> using namespace std; string s="codeforces"; map<char,bool>mp; void solve(){ char c;cin>>c; if(mp[ 阅读全文
posted @ 2024-01-23 12:56 WW爆米花 阅读(5) 评论(0) 推荐(0) 编辑
摘要:A. 找两个最大的长度为k的区间和 默认当前区间是最大或第二大的,然后找第二大的或最大的 若当前区间不是以上任一种,则它们的结果不重要 这样避免了很多重复的情况 #include <bits/stdc++.h> using namespace std; #define int long long v 阅读全文
posted @ 2024-01-22 22:15 WW爆米花 阅读(6) 评论(0) 推荐(0) 编辑
摘要:A. 把字符串小写转换成大写即可 #include <bits/stdc++.h> using namespace std; void solve(){ string s;cin>>s; for(int i=0;i<s.size();i++){ if(s[i]>='a'&&s[i]<='z'){ s 阅读全文
posted @ 2024-01-22 19:23 WW爆米花 阅读(48) 评论(0) 推荐(0) 编辑
摘要:F. 模拟题,不难只是比较繁琐,需要分情况讨论 debug: 如何判断永远走不到终点格? 原思路是这个点同时这个点指向的方向被经过了,那么就是走的重复的路,走不到终点 但不知为何map出了一些问题 后来看题解,只要步数很大了还走不到那么就永远走不到 于是我把map删了,过了 #include <bi 阅读全文
posted @ 2024-01-21 19:39 WW爆米花 阅读(1) 评论(0) 推荐(0) 编辑
摘要:题目链接 A. 直接判断输出 #include <bits/stdc++.h> using namespace std; void solve(){ int a,b,c;cin>>a>>b>>c; if(a+b==c)cout<<'+'<<'\n'; else if(a-b==c)cout<<"-" 阅读全文
posted @ 2024-01-21 14:24 WW爆米花 阅读(17) 评论(0) 推荐(0) 编辑
摘要:题目链接 H. 没思路,查看题解 选择数组的非连续的子序列,就是每个数选或不选的问题 求个数,易dp 求子序列的数二进制相与结果有k个1的个数 把所有结果记录,再去筛选满足条件的结果 f[i][j]表示到第i个数,相与结果为j的子序列个数 正向思维:多个数相与得到结果 dp思维:枚举结果,考虑数如何 阅读全文
posted @ 2024-01-20 14:38 WW爆米花 阅读(9) 评论(0) 推荐(0) 编辑
摘要:题目链接 E. 连通块的搜索 debug:用不上回溯,把连通块的贡献全部加起来 #include <bits/stdc++.h> using namespace std; int n,m; int g[1010][1010]; bool vis[1010][1010]; int ma,tmp; in 阅读全文
posted @ 2024-01-20 14:31 WW爆米花 阅读(5) 评论(0) 推荐(0) 编辑
摘要:题目链接 A. 直接比较输入字符串和已知字符串有几个不同即可 #include <bits/stdc++.h> using namespace std; void solve(){ string s;cin>>s; int ans=0; string t="codeforces"; for(int 阅读全文
posted @ 2024-01-18 21:57 WW爆米花 阅读(6) 评论(0) 推荐(0) 编辑
摘要:题目链接 F. 记录下出现的数字和个数 注意放置陷阱的位置1-n都有可能 然后遍历1-n,对每个数进行因子分解,对于在因子的位置上有青蛙的,加上青蛙的个数,取最大即可 #include <bits/stdc++.h> using namespace std; #define int long lon 阅读全文
posted @ 2024-01-18 20:50 WW爆米花 阅读(10) 评论(0) 推荐(0) 编辑
摘要:题目链接 A. 判总和-最小值的差是否大等于10即可 #include <bits/stdc++.h> using namespace std; const int N=2e5+10; void solve(){ int a,b,c;cin>>a>>b>>c; int ans=a+b+c; ans- 阅读全文
posted @ 2024-01-18 14:43 WW爆米花 阅读(8) 评论(0) 推荐(0) 编辑
摘要:题目链接 F. 先把序列分割成一个个满足条件的子序列 然后二分长度,去判断子序列是否满足长度,若有一个满足,这个答案可行,判断更长的长度 debug: 存下的子序列忽略了单个元素,单个元素也是一个子序列,把每个元素单独作为一个子序列后可以ac 题解有更简单的做法,双指针,直接遍历一遍得到答案 #in 阅读全文
posted @ 2024-01-17 19:35 WW爆米花 阅读(3) 评论(0) 推荐(0) 编辑
摘要:题目链接 A. 一次交换,最多让两个字符归位 若三个字符都不在该在的位置上,那么无法完成 若有一个字符在该在的位置上,那么可以完成 using namespace std; void solve(){ char a,b,c;cin>>a>>b>>c; if(a=='a'||b=='b'||c=='c 阅读全文
posted @ 2024-01-17 19:34 WW爆米花 阅读(7) 评论(0) 推荐(0) 编辑
摘要:题目链接 F. 找了些题解,但都看的不是很懂 先去又梳理了一遍堆优化版的dij 每次用当前可到达的最小的边去进行松弛操作 标记数组,若该点已经加入确定点集,就跳过 别忘了dist[]数组初始化为无穷大,这样才会全部都被更新 #define ll long long const int inf=0x3 阅读全文
posted @ 2024-01-15 22:24 WW爆米花 阅读(12) 评论(0) 推荐(0) 编辑
摘要:题目链接 F. 常规的树状数组求逆序对 需要注意的是,因为是下标与值的映射,所以数值不能为负数,也不能太大 然后传参数的时候,参数是最大数值 切记切记 #include <bits/stdc++.h> using namespace std; const int N=2e5+10; template 阅读全文
posted @ 2024-01-15 16:16 WW爆米花 阅读(6) 评论(0) 推荐(0) 编辑
摘要:题目链接 A. 3个数,其中2个数相同,输出不相同的那个 可以用if else判断,较为麻烦 用的map,输出出现一次的 #include <bits/stdc++.h> using namespace std; const int N=1e5+10; void solve(){ map<int,i 阅读全文
posted @ 2024-01-12 23:15 WW爆米花 阅读(8) 评论(0) 推荐(0) 编辑