上一页 1 2 3 4 5 6 ··· 12 下一页
摘要: 题目链接 这个数据范围想不到dp 考虑贪心一下 一开始想把所有的C和P按到优先队列里一个个取出来 过了14/15的数据点把我吓了一跳 最后一个数据点直接把我卡死 2 1 5 2 3 1 1000 一开始按C排个序,前K个必然是要选的 因为他们的下限最小 对于剩下的无非两种选择,P买,C买 P买就直接 阅读全文
posted @ 2021-10-23 17:45 Neworld1111 阅读(48) 评论(0) 推荐(0) 编辑
摘要: 题目链接 一开始想种类并查集 但是$a\neq b ,a\neq c$不能推出$b=c$ 也就是不具有敌人的敌人是朋友的性质 等于和不等于可以分开处理 先处理等于,并查集维护 再处理不等于,如果在一个集合就是NO #include <iostream> #include <algorithm> #i 阅读全文
posted @ 2021-10-23 14:41 Neworld1111 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 题目链接 感觉排个序会非常好做,就能省了很多事 但是询问是不讲顺序的,那就离线一下 #include <iostream> #include <algorithm> using namespace std; #define MAXN 100005 int f[MAXN],size[MAXN]; in 阅读全文
posted @ 2021-10-21 15:22 Neworld1111 阅读(338) 评论(0) 推荐(0) 编辑
摘要: 链接 数据范围不大,考虑开100个二维树状数组进行维护 #include <iostream> using namespace std; #define MAXN 305 int col[MAXN][MAXN]; int N,M; struct Binary { #define lowbit(x) 阅读全文
posted @ 2021-10-21 10:31 Neworld1111 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 题目链接 想到了用dfs去递归子树 然后歪了 想用dfs序和size去压到一维数组,然后查询区间排名,这里用分块可以过 但是想试一下树状数组 主要问题是在如何消除子树间统计答案的影响 借鉴了题解 只要先减掉之前的答案,维护后再加上,就可以抵消掉子树影响 #include <iostream> #in 阅读全文
posted @ 2021-10-19 11:20 Neworld1111 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 题目链接 可以证明a中第k大应该对于b中第k大 满足此条件的两个数列,完成一次交换,有可能使得答案变劣 只对一个数列进行操作和对两个数列进行操作是等价的 数据很大,需要离散化 假设确定a数组,只移动b,你会发现很困难 这里不妨使得a数组的第一项为第一,第二项为第二…… 对应的b数组中的数也进行替换 阅读全文
posted @ 2021-10-18 22:36 Neworld1111 阅读(36) 评论(0) 推荐(0) 编辑
摘要: 区间修改+单点查询 #include <cstdio> #include <iostream> #include <algorithm> #include <cmath> using namespace std; #define MAXN 100005 int drop[MAXN],tag[MAXN 阅读全文
posted @ 2021-10-05 11:16 Neworld1111 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 堆优化Dijkstra #include <cstdio> #include <algorithm> #include <string> #include <queue> #define MAXN 500005 struct Node { int u,dis; inline bool operato 阅读全文
posted @ 2021-09-03 00:28 Neworld1111 阅读(28) 评论(0) 推荐(0) 编辑
摘要: Part 1 入门阶段 Part 1.1 从零开始 Part 1.2 数组基础 Part 1.3 字符串基础 Part 1.4 函数,递归及递推 Part 2 基础算法 Part 2.1 模拟 Part 2.2 排序算法 Part 2.3 二分答案 Part 2.4 分治 Part 2.5 贪心 P 阅读全文
posted @ 2021-09-03 00:20 Neworld1111 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 题目 KMP算法的熟练运用 由于KMP预处理是对模式串本身进行KMP 所以串尾、pre[size]部分完全一致,且pre[size]和pre[pre[size]]部分一致…… 所以就代表一个循环节 若(size-pre[size])刚好能被size整除,则为循环节 #include <cstdio> 阅读全文
posted @ 2021-08-20 20:26 Neworld1111 阅读(14) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 12 下一页