上一页 1 ··· 5 6 7 8 9 10 11 12 13 14 下一页
摘要: 题目 思路 开始码了遍暴力 #include<bits/stdc++.h> using namespace std; int a[200000+10]; int cnt1,cnt2; int main(){ int n;scanf("%d",&n); for(int i=1;i<=n;i++){ s 阅读全文
posted @ 2020-07-07 19:49 sodak 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 题目 思路 这道题就是典型的lca板子(倍增) 但是~~~ 调了一下午,各种快读快输,结果,换了台机子,过了??!!难道我平时水的太多了,把机子水慢了??!! 虽然还是很慢 附上代码 #include<bits/stdc++.h> using namespace std; const int Siz 阅读全文
posted @ 2020-07-07 19:32 sodak 阅读(163) 评论(4) 推荐(0) 编辑
摘要: 题目 思路 这道题很明显是最短路,主要是建边有点困难,这里会用到分层图 #include<bits/stdc++.h> using namespace std; const int Size=2000000+100; int ver[Size],Next[Size],edge[Size],head[ 阅读全文
posted @ 2020-07-07 17:14 sodak 阅读(163) 评论(0) 推荐(1) 编辑
该文被密码保护。 阅读全文
posted @ 2020-07-06 21:18 sodak 阅读(2) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2020-07-06 18:37 sodak 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 题目 思路 很明显的dp就是不会跑啊,所以最后dfs救了一下场,不出所料,最后果然T了,现在说一下正解。 为什么说是奇怪dp呢,这道题的dp数组是布尔型的,f[i][j][k]代表在到第i行第j列之前是否能组成k,1(能)或者0(不能); 这道题还有一个恶心的地方,就是原始数的存放,可以分n以及n前 阅读全文
posted @ 2020-07-06 18:29 sodak 阅读(145) 评论(1) 推荐(0) 编辑
摘要: 题目 思路 一开始建虚点做,然后写挂了, 这道题可以枚举1连出去的边,然后找到边连到的点,再断掉该边(记得断双向),然后对1跑到该点的最短路,加上断边的长度,然后再继续枚举其他边(记得把之前的边连上!!) 代码 #include<bits/stdc++.h> using namespace std; 阅读全文
posted @ 2020-07-06 17:45 sodak 阅读(204) 评论(1) 推荐(0) 编辑
摘要: 题目 思路 很明显的求逆序对 可以用归并排序 可以用树状数组 树状数组记得加离散化! 代码 #include<bits/stdc++.h> using namespace std; const int maxn=1e5+10; long long n; int c[maxn]; void add(i 阅读全文
posted @ 2020-07-06 17:38 sodak 阅读(104) 评论(1) 推荐(0) 编辑
摘要: 题目 思路 这道题竟然是状压DP,本人以为是数论,看都没看就去打下一题的暴力了,哭 \(A_i\)<=30,所以我们只需要考虑1~58个数,再往后选的话还不如选1更优,注意,1是可以重复选取的,因为题目中有一句话 所以我们所枚举的因子只能包括1~58之间的质因子,而且每个质因子只能选一次,所以选完质 阅读全文
posted @ 2020-07-06 16:40 sodak 阅读(433) 评论(0) 推荐(1) 编辑
该文被密码保护。 阅读全文
posted @ 2020-07-06 07:38 sodak 阅读(9) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 14 下一页