摘要:
https://www.acwing.com/problem/content/description/1599/ #include <iostream> #include <cstring> #include <algorithm> #include <vector> using namespace 阅读全文
摘要:
https://www.acwing.com/problem/content/1606/ #include <iostream> #include <algorithm> #include <vector> using namespace std; const int N = 10010; int 阅读全文
摘要:
https://www.acwing.com/problem/content/1487/ 并查集维护连通块的写法 #include <iostream> #include <cstring> using namespace std; const int N = 1010, M = 500010; i 阅读全文
摘要:
https://www.acwing.com/problem/content/1585/ 状态机的解法 #include <iostream> #include <cstring> using namespace std; const int N = 100010, MOD = 1e9 + 7; i 阅读全文
摘要:
https://www.acwing.com/problem/content/description/1556/ 思路: 01背包问题的经典模型,这不过这儿的属性是bool,表示能不能,而且要你输出方案,由于方案要字典序最小,所以Ai则是能选则选,又由于是从后往前推的,所以这也暗示我们a数组要按从大 阅读全文
摘要:
https://www.acwing.com/problem/content/1531/ 思路: 最长公共子序列模型,唯一不同的一点是:他一个i可以选择多个j。 P:2 3 1 5 6 S:2 2 4 1 5 5 6 3 1 1 5 6 f[i][j]: 状态表示: 集合:在p[1,i]中出现且在s 阅读全文
摘要:
https://www.acwing.com/problem/content/1481/ 思路: 注意f数组的含义以及集合的划分。 #include<bits/stdc++.h> using namespace std; const int N = 1e5 + 10; int a[N]; int f 阅读全文
摘要:
https://www.acwing.com/problem/content/1648/ 思路: 如果单纯的用试除法去做,可能会超时,我们在这里先弄出来根号内的所有质数,然后用质数来做。 #include <iostream> #include <cstring> using namespace s 阅读全文
摘要:
https://www.acwing.com/problem/content/description/1595/ dp解法 #include <iostream> #include <cstring> using namespace std; const int N = 410; int n, k, 阅读全文
摘要:
https://www.acwing.com/problem/content/description/1580/ 思路: 这题思路并不难,但如果你傻乎乎的一种一种情况的输出,那会非常的繁琐,巧妙的利用一个函数来统一起来实现。 #include <iostream> using namespace s 阅读全文
摘要:
https://www.acwing.com/problem/content/1535/ ` 思路: 暴力肯定是不可能的,枚举每一个的情况,分类讨论。 #include <iostream> #include <vector> using namespace std; typedef long lo 阅读全文