ZHLin_Blog
搜索

ZHLin_Blog

牛客周赛 Round 135
发表于2026-05-26|题解
比赛链接 https://www.bilibili.com/video/BV1pxcrz6EKm A 考察顺序结构 #include <bits/stdc++.h>using namespace std;const int N = 1e3;typedef long long ls;void sol(){ ls n; cin >> n; cout << n / 3 * 3 << endl;}int main(){ sol();} B 这道trick题目卡了我一整个比赛,我用dp写超时了然后就用map来优化,结果还是超时。头脑直接干报废了,活该不看数据范围就开始写题。其实一项之后就可以发现可以化简为 元素-下标相等 。对于任意选出来的数都要满足元素-下标相等,题目让我求最长的这种序列,那就是求这个差值的众数,可以用map来求解。 #include <bits/stdc++.h>using namespace std;const int N = 1e3;typedef long long...
牛客周赛 Round 126
发表于2026-05-26|题解
原题链接 E小红的完全平方数构造 题面解读 E-小红的完全平方数构造_牛客周赛 Round 126 给定一个整数 nnn,要求你在 nnn 的后面追加至少 1 位数字,使得新的数字 n′n'n′ 成为一个完全平方数。 解题思路 参考题解 显然可以想到遍历后面加了几位。 对于添加了 位的情况,此时数字的范围为 ,不妨取第一个大于等于 的完全平方数,若其小于等于 ,则满足题意。 #include <bits/stdc++.h>using namespace std;typedef long long ls;int t, n;ls find(ls x){ ls l = 1, r = 2e9 + 10; while (l < r) { ls mid = l + (r - l) / 2; if (mid * mid >= x) r = mid; else l = mid + 1; } return l;}void solve(){ cin >> n; for (int k = 1; k <= 1...
2025蓝桥杯省B题解
发表于2026-05-26|题解
洛谷题库链接 T1 题目链接 想要严格证明可能有点困难,但是可以猜。设原点为A,终点为B,从A一直向右走,走和AB长度相等的距离点C后使用一次圆周移动到达点B,最后形成的图形是一个扇形,答案就是AC+CB(弧长)。就算过程中需要用到C++数学库里的atan函数,最后要四舍五入。 #include <bits/stdc++.h>using namespace std;#define endl '\n'#define IO ios::sync_with_stdio(0); cin.tie(0);typedef long long ls;const int N = 1e5 + 10;const double eps = 1e-5;void sol(){ double l = sqrt(233*233+666*666); double a = atan(666.0/233); cout << (ls)(a*l+l) << endl;}int main(){ IO; sol();} *T2 题目...
2026牛客寒假算法基础集训营1
发表于2026-05-26|题解
B https://ac.nowcoder.com/acm/contest/120561/B 假设小红手上所有牌中最小的为x,将小笨手上比x大和比x小的牌分为两部分,那么小笨手上所有比x大的牌都会被移除,移除的数量就是最高得分,因此答案就是两部分的全排列结果相乘。 #include <bits/stdc++.h>using namespace std;const int mod = 998244353;const int N = 2e5 + 10;typedef long long LL;int t, n;int a[N], b[N];LL fact[N];void f(){ fact[0] = 1; for (int i = 1; i < N; i++) fact[i] = (fact[i - 1] * i) % mod;}void sol(){ cin >> n; int minb = 1e6 +10; for (int i = 1; i <= n; i++) cin >> a[i]; fo...
Codeforces Round 1065 (Div. 3)
发表于2026-05-25|题解
A #include <bits/stdc++.h>using namespace std;int t, n;int main() { ios::sync_with_stdio(0); cin.tie(0); cin >> t; while (t--) { cin >> n; if (n & 1) { cout << 0 << "\n"; } else { cout << (n / 4) + 1 << "\n"; } } return 0;} B #include <bits/stdc++.h>using namespace std;const int MAXN = 2e5 + 5;int t, n;long long a[M...
Codeforces Round 1073 (Div. 2)
发表于2026-05-25|题解
Dashboard - Codeforces Round 1073 (Div. 2) - Codeforces A 模拟一下即可 #include <bits/stdc++.h>using namespace std;int t, n;typedef pair<int, int> PII;int main(){ ios::sync_with_stdio(0); cin.tie(0); cin >> t; while (t--) { cin >> n; vector<PII> v(n); for (int i = 0; i < n; i++) { cin >> v[i].first; v[i].second = i % 2 == 0 ? 1 : 0; } sort(v.begin(), v.end()); bool f = true; for (int i = 1; i < n; i++) if (v[i].second == v...
C算法总结(2026.05.25)
发表于2026-05-25|职教高考技能 C
三晋七校第一届新生赛(同步赛)
发表于2026-05-25|题解
三晋七校第一届新生赛(同步赛)_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ F 和移位 最后剩余1h才开始写这道题的,虽然有了一点思路但是已经没时间写了。我观察到n的大小只有2000,所以我觉得可以先用n^2构造一个数组出来,然后进行后续的处理。 当然,比完赛后自己写了下写出来了,真的是太棒了OvO #include <bits/stdc++.h>using namespace std;typedef long long LL;const LL N = 1e5 + 10;int x, n, q;int a[N];map<int, vector<int> > mp;map<int, int> dis;int main(){ ios::sync_with_stdio(0); cin.tie(0); cin >> n >> q; for (int i = 0; i < n; i++) cin >> a[i]; for (int i = 0; i...
排序算法
发表于2026-05-25|算法学习
第一节:普遍排序算法 1.计数排序 核心思想:开一个带含义的数组,下标为待排序的数x,下标对应的数值表示元素x出现的数量。由于数组下标是有序的,因此在统计过程中就将输入的元素x进行了排序。 优缺点:计数排序只适用于值域不是很大但数量可以很多的情况;另外,计数排序只适用于正整数排序,不能排序浮点型或字符串类型。 时间复杂度O(n+k)O(n+k)O(n+k) 空间复杂度O(k)O(k)O(k) #include <iostream>using namespace std;int a[1000] = {0}, n, x; //开1000的数组,那么x的值域限制在0~999int main(){ cin >> n; for (int i = 1; i <= n; i++) { cin >> x; a[x]++; } for (int i = 0; i <= 999; i++)//开1000的数组,那么x的值域限制在0~999 if (a[i]) for (int j = 1; j <= a[i]; j++) cout &l...
牛客2025秋季算法编程训练联赛2-基础组
发表于2026-05-25|题解
牛客2025秋季算法编程训练联赛2-基础组_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ A 做游戏 读了一遍题目发现根本没有思路, 哎,蒟蒻的oi选手啊~ 为什么呢,我当时在想牛牛出石头,牛可乐出剪刀,牛牛赢了;如果说牛可乐出布赢了牛牛怎么办呢。我在考虑相互之间的博弈关系。 deepseek:你提到“牛可乐出布赢了牛牛怎么办呢”,但问题是要最大化牛牛的赢局,所以我们只关心牛牛赢的情况,而不关心牛可乐赢的情况。在计算牛牛赢局时,我们不需要考虑牛可乐赢的情况,因为赢局是独立的。 由于这三种获胜情况互不冲突,牛牛的总获胜局数即为这三种情况之和。这样计算可以确保牛牛在给定的出拳次数下获得最大获胜局数,因为每次匹配都是最优的,不会相互影响。 #include <iostream>using namespace std;long long a, b, c, x, y, z;int main(){ cin >> a >> b >> c >> x >> y >>...
1234
avatar
ZHLin
技术博客,记录学习过程
文章
33
分类
6
我的说说
公告
洛谷团队链接: https://www.luogu.com.cn/team/118658
最新文章
大一算法竞赛获奖记录(2025—2026)2026-10-16
Yolov5 train.py main()函数解析2026-10-16
洛谷蓝桥杯国赛模拟2026-05-31
2026“钉耙编程”中国大学生算法设计春季联赛(4)2026-05-26
2026“钉耙编程”中国大学生算法设计春季联赛(5)2026-05-26
分类
  • 深度学习1
  • 算法学习2
  • 职教高考技能 C1
  • 课程报告1
  • 阶段总结1
  • 题解27
标签
程序设计 竞赛记录
归档
  • 十月 2026 2
  • 五月 2026 31
网站信息
文章数目 :
33
本站访客数 :
本站总浏览量 :
最后更新时间 :
© 2025 - 2026 By ZHLin框架 Hexo 8.1.2|主题 Butterfly 5.5.5-b1
搜索
数据加载中