07 2024 档案

摘要:女神的睿智 void solve() { string s; cin >> s; int a = 0, b = 0; for (int i = 0; i < s.size(); ++i) { if (s[i] == s[0]) a++; if (s[i] == s[4]) b++; } if (s[ 阅读全文
posted @ 2024-07-29 21:27 bible_w 阅读(41) 评论(0) 推荐(0) 编辑
摘要:G The Set of Squares 思路: 对于一个序列内的所有数的乘积可以分解为p1k1p2k2...pnkn,(p为质数)此时只有当k都为偶数时,这个序列数的乘积才为完全平方数 当在两个序列当中,所有k为奇数时对应的质数p都相同,说明这两个序列合并可以构成完全平方数 那么可以以ki的奇偶来 阅读全文
posted @ 2024-07-27 19:08 bible_w 阅读(20) 评论(0) 推荐(0) 编辑
摘要:B Crash Test 思路: a的任意倍数与b的任意倍数的和 都是 a和b的最大公约数的倍数 如果选一次操作,最近的距离为min(D % h[i],h[i] - D % h[i]) 那么多次操作的最近距离即为min(D % gcd_h,gcd_h - D % gcd_h) void solve( 阅读全文
posted @ 2024-07-26 16:59 bible_w 阅读(31) 评论(0) 推荐(0) 编辑
摘要:A Make Equal With Mod 思路: 首先x >= 2,那么对于出现1的时候就没有办法处理,所以需要把所有数都变为1,从最大的数开始,每个数 mod 这个数减一 后得到1,只有当出现两个数的差为1时没有办法把全部树变为1 当没有出现1时,所有数都可以通过mod 自己 后得到0 void 阅读全文
posted @ 2024-07-26 13:20 bible_w 阅读(3) 评论(0) 推荐(0) 编辑
摘要:国际旅行Ⅰ 思路:排序后直接输出 void solve() { int n, m, q; cin >> n >> m >> q; vector<int> a(n + 1); for (int i = 1; i <= n; ++i) cin >> a[i]; vector<vector<int> > 阅读全文
posted @ 2024-07-24 22:18 bible_w 阅读(33) 评论(0) 推荐(0) 编辑
摘要:A Many Formulas 思路:二进制枚举 void solve() { string s; cin >> s; int n = s.size(); int m = pow(2, n - 1); int ans = 0; for (int i = 0; i < m; ++i) { int no 阅读全文
posted @ 2024-07-22 20:36 bible_w 阅读(8) 评论(0) 推荐(0) 编辑
摘要:A 题目链接 思路: 枚举每个十字中心点,合法就标记,最后若还剩下点没被标记就NO #include <bits/stdc++.h> using namespace std; #define int long long #define PII pair<int, int> const int N = 阅读全文
posted @ 2024-07-20 20:07 bible_w 阅读(3) 评论(0) 推荐(0) 编辑
摘要:A Robot Takahashi 思路: 将所有数排序,枚举孩子成人的分解点X,同时根据s的标识维护正真的孩子成人的个数 void solve() { int n; cin >> n; string s; cin >> s; int sum = 0; for (int i = 0; i < s.s 阅读全文
posted @ 2024-07-19 14:39 bible_w 阅读(5) 评论(0) 推荐(0) 编辑
摘要:A造数 思路: 将n看成二进制,倒着操作将n变为0即可 赛时的想法也是看成二进制,正着从0加到n,乘2就是向前移位,加1就是把0变1,加2就是添一个1...(还是倒着好想些) void solve() { int n; cin >> n; if (n == 0) { cout << 0; retur 阅读全文
posted @ 2024-07-17 20:52 bible_w 阅读(45) 评论(0) 推荐(0) 编辑
摘要:A Made Up 思路:统计A的个数,O(1)统计cnt[bc] void solve() { int n; cin >> n; vector<int> cnt (n + 1), b(n + 1); for (int i = 1; i <= n; ++i) { int x; cin >> x; c 阅读全文
posted @ 2024-07-16 20:17 bible_w 阅读(7) 评论(0) 推荐(0) 编辑
摘要:训练内容 本周的任务有数据结构的专题题单,以及牛客上的数据结构进阶课。周一到周六都进行了比赛,包括早晨2个小时的小比赛和3个小时友谊赛。下午和晚上主要是补题,写题单。 训练题解 day1 SMU Summer 2024 Contest Round 1(7.8) day2 SMU Summer 202 阅读全文
posted @ 2024-07-15 00:23 bible_w 阅读(14) 评论(0) 推荐(0) 编辑
摘要:[NOIP2012]借教室 可以看到答案是有单调性的,若第i个可以那么第i-1个也可以,就可以二分答案,用差分维护区间加,也可以用树状数组 #include <bits/stdc++.h> using namespace std; #define int long long //#define do 阅读全文
posted @ 2024-07-14 23:17 bible_w 阅读(9) 评论(0) 推荐(0) 编辑
摘要:AtCoder abc204_d 一开始想着贪心,试了下wa掉了,然后看着过的人挺多的还是觉得是贪心🤡(试了好几遍 思路:答案最小为sum/2,那么就是找到大于等于sum/2的最小子集和,上dp,f[i][j]表示前i个数中是否存在子集和为j(看数据范围也可以看出是dp的 void solve() 阅读全文
posted @ 2024-07-14 13:15 bible_w 阅读(42) 评论(0) 推荐(0) 编辑
摘要:CodeForces 1265E 思路:期望dp,f[i]表示走到i的期望天数,有f[i] = p[i]/100 * (f[i - 1] + 1) + (100 - p[i]) / 100 * (f[i - 1] + 1 + f[i]), 得到f[i] = 100 / p[i] * (f[i - 1 阅读全文
posted @ 2024-07-14 13:13 bible_w 阅读(52) 评论(0) 推荐(0) 编辑
摘要:AtCoder abc079_d 思路:floyd跑最短路(赛时把循环顺序记错了🤡) #include <bits/stdc++.h> using namespace std; #define int long long //#define double long double #define P 阅读全文
posted @ 2024-07-13 00:07 bible_w 阅读(42) 评论(0) 推荐(0) 编辑
摘要:寻找素数对 思路:数的范围为10000,直接筛出所有范围内的质数,n2的枚举所有质数对和的情况 #include <bits/stdc++.h> using namespace std; #define int long long #define PII pair<int, int> const i 阅读全文
posted @ 2024-07-10 17:09 bible_w 阅读(50) 评论(0) 推荐(0) 编辑
摘要:A Sierpinski carpet 思路:考虑把每一级的结构存下来,每一级都由3*3个上一级的结构推出的。先推出第一层1*3的结构,后面两层2*3直接复制1*3的结构,再找到中心位置赋值成白色即可 void solve() { vector<vector<string> > ve(10, vec 阅读全文
posted @ 2024-07-09 14:58 bible_w 阅读(49) 评论(0) 推荐(0) 编辑
摘要:A_Dice and Coin 题目链接:abc126_c 思路:分别求所有掷到的筛子数时赢得可能,进行求和 void solve() { int n, k; cin >> n >> k; double ans = 0; for (int i = 1; i <= n; ++i) { double n 阅读全文
posted @ 2024-07-08 15:20 bible_w 阅读(51) 评论(0) 推荐(0) 编辑

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