随笔分类 - OJ
摘要:AtCoder Beginner Contest 362 前言 vp 的时候出了四题,被 C 题卡了一会,很久才出,D 题是 dijkstra 的板子,改下条件即可,E 题是个计数 dp,这类题一直不怎么擅长,想起之前杭电第一场那个序列立方的题也是类似这种计数 dp,需要加强练习。 A - Buy 
        阅读全文
                
摘要:2024“钉耙编程”中国大学生算法设计超级联赛(1) 循环位移 HDU - 7433 思路 字符串哈希,将 A 串拼接两遍记为 AA,然后对其哈希一下,用 map/set 记录哈希值,因为 \(|A|\le|B|\),所以只要检查 B 中长度为 \(|A|\) 的子串哈希值是否存在 AA 中即可。 
        阅读全文
                
摘要:河南萌新联赛2024第(二)场:南阳理工学院 A-国际旅行Ⅰ_河南萌新联赛2024第(二)场:南阳理工学院 (nowcoder.com) 思路 根据题意可以得知国与国之间互相联通所以从任意一个国家出发都可以到其他所有国家,故按照权值排序后输出就可以了。 代码 #include<bits/stdc++
        阅读全文
                
摘要:AtCoder Beginner Contest 363 前言 只出了三题,被 d 卡住了,事实上 e 题应该对我而言更简单,没及时换题。 A - Piling Up (atcoder.jp) 思路 代码 #include<bits/stdc++.h> using namespace std; us
        阅读全文
                
摘要:2024牛客暑期多校训练营2 E-GCD VS XOR_2024牛客暑期多校训练营2 (nowcoder.com) 题意 给定 x,构造 y < x 使得 gcd(x, y) = x ⊕ y 思路 取 x − lowbit(x) 即可,如果 x 是 2 的整数次幂则无解。 代码 #include<b
        阅读全文
                
摘要:河南萌新联赛2024第(一)场:河南农业大学 A-造数_河南萌新联赛2024第(一)场:河南农业大学 (nowcoder.com) 思路 2 的二进制为 10,对于任意一个数,如 13,其二进制为 1101,可由 10 \(\rightarrow\) 100 \(\rightarrow\) 110 
        阅读全文
                
摘要:P1525 [NOIP2010 提高组] 关押罪犯 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 种类并查集 #include <bits/stdc++.h> #define debug(a) cout<<#a<<"="<<a<<'\n'; using namespace std
        阅读全文
                
摘要:A. Flipping Game 本质上是让我们找出一段区间内\(0\)的个数大于\(1\)的个数的最多的区间,且必须进行一次操作,所以可以考虑区间\(dp\),或者最小子序列和 1 最小子序列和 \[\begin{aligned} dp_i是以a_i结尾的最小子序列和 \\ dp_i=\min(d
        阅读全文
                
摘要:B. BerSU Ball 排序后考虑\(dp\),\(dp_{i,j}\)表示前\(i\)个男生和前\(j\)个女生能匹配的最大数. \[\begin{aligned} if(|a_i - b_j| \le 1) \ dp_{i,j} = dp_{i-1,j-1} + 1 \\ else \ \ 
        阅读全文
                
摘要:AtCoder Beginner Contest 327D D - Good Tuple Problem (atcoder.jp)(种类并查集,二分图染色) 算法学习笔记(7):种类并查集 附上典题:P1892 [BOI2003] 团伙 种类并查集做法 #include <bits/stdc++.h
        阅读全文
                
摘要:AtCoder Beginner Contest 328 A - Not Too Hard (atcoder.jp) #include <bits/stdc++.h> #define debug(a) cout<<#a<<"="<<a<<'\n'; using namespace std; usin
        阅读全文
                
摘要:【蓝桥杯】1024 第 2 场算法双周赛 新生【算法赛】 - 蓝桥云课 (lanqiao.cn) #include <iostream> using namespace std; int main() { printf("15"); return 0; } 铺地板【算法赛】 - 蓝桥云课 (lanq
        阅读全文
                
摘要:Problem - 616C - Codeforces C. The Labyrinth 如果是直接对\(*\)去跑dfs或者bfs的话无疑是会超时的 既然如此,那我们可以去对 \(.\) 跑搜索,将各个连通的 \(.\) 块标号并计算出连通块内的点的数量,然后去遍历\(*\)的时候只需要上下左右跑
        阅读全文
                
摘要:AtCoder Beginner Contest 318 A - Full Moon (atcoder.jp) 以\(M\)为首项,\(P\)为公差,看\(1 \sim N\)里包含了多少项的个数 #include<bits/stdc++.h> using i64 = long long; usin
        阅读全文
                
摘要:洛谷100题计划(30/100) P1628 合并序列 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 把符合条件的字符串都放进multiset里(可以包含重复的元素,且自动排序),然后输出即可 #include<bits/stdc++.h> using i64 = long lo
        阅读全文
                
摘要:洛谷100题计划(25/100) P1164 小A点菜 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 01背包模版题(? \(dp[j]\)表示剩\(j\)元时有多少种点菜方案,\(dp[j] = dp[j] + dp[j - a[i]]\)表示原来的(\(dp[j]\))再加上
        阅读全文
                
摘要:洛谷100题计划(20/100) P1147 连续自然数和 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题意就是找一段连续的区间,使得区间和为\(M\),很容易发现,其实这个区间就是一个等差数列,所以\(区间和 = \frac{(首项+末项)\times 项数}{2}\),假设
        阅读全文
                
摘要:洛谷100题计划 (15/100) P1094 [NOIP2007 普及组] 纪念品分组 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 要使得分组最少,其实就是要让一个大的和一个小的放一起,如果大的和小的一起放超过了\(w\),那大的就应该单独放,所以排完序之后,我们可以用双指针
        阅读全文
                
摘要:洛谷100题计划(10/100) P1031 [NOIP2002 提高组] 均分纸牌 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 因为第\(1\)堆只能移动到第\(2\)堆,且第\(N\)堆只能移动到第\(N-1\)堆,所以直接从左边往右边转移就行,这里是都减了一个平均数,看所
        阅读全文
                
摘要:# [牛客周赛 Round 8](https://ac.nowcoder.com/acm/contest/63585#question) ## [A-小美的排列询问_牛客周赛 Round 8 (nowcoder.com)](https://ac.nowcoder.com/acm/contest/63
        阅读全文
                
                    
                
浙公网安备 33010602011771号