摘要: CF182C Optimal Sum 题目传送门 贪心、权值线段树 题意 给定一个数字 \(len\) 和一个长度为 \(n(n\le 10^5)\) 的数组 \(a\),你最多可以执行 \(k\) 次操作 \(a_i \leftarrow -a_i\),请你最大化 \[\max \limits_{i\in [1,n]} \bigl | 阅读全文
posted @ 2025-09-19 19:19 _AzureSky 阅读(5) 评论(0) 推荐(0)
摘要: P6801 花式围栏 题目传送门 数学、计数类。 题意 在 \(n\) 个同一底线上宽 \(w\),高 \(h\),给定的相邻矩形中,数出在方格上的任意形状的小矩形的个数。 \(1\leq n\leq 10^5,1\leq w,h \leq 10^9\) 题解 我们规定竖直方向上为高,水平方向上为的宽。 要研究 \(n\ 阅读全文
posted @ 2025-09-18 11:16 _AzureSky 阅读(14) 评论(0) 推荐(1)
摘要: 放在 using namespace std; 后面即可。 namespace fast_IO { #define FASTIO #define IOSIZE 100000 char ibuf[IOSIZE], obuf[IOSIZE]; char *p1 = ibuf, *p2 = ibuf, * 阅读全文
posted @ 2025-09-18 11:12 _AzureSky 阅读(8) 评论(0) 推荐(1)
摘要: 题目传送门 tarjan 求桥,缩点,数上差分,LCA,DSU。 题目大意 给定一张 \(n\) 个点 \(m\) 条边的无向图,可能有重边,现在想要把这张图定向。 有 \(p\) 个限制条件,每个条件形如 \((x_i,y_i)\) ,表示在新的有向图当中, \(x_i\) 要能够沿着一些边走到 阅读全文
posted @ 2025-09-18 11:12 _AzureSky 阅读(12) 评论(0) 推荐(1)
摘要: 主要有 \(3\) 种方法:DFS / BFS / DSU DFS 直接遍历整张图染色,判断是否产生冲突 init(){ for(int i=1;i<=n;i++) col[i]=-1; } bool dfs(int u,int c){ col[u]=c; for(auto v:e[u]){ if( 阅读全文
posted @ 2025-09-18 11:07 _AzureSky 阅读(9) 评论(0) 推荐(0)
摘要: int read(){ int x=0,f=1; char c=getchar(); while(c<48||c>57){ if(c=='-') f=-1; c=getchar(); } while(c>47&&c<58) x=x*10+(c^48),c=getchar(); return x*f; 阅读全文
posted @ 2025-09-18 11:06 _AzureSky 阅读(11) 评论(0) 推荐(0)
摘要: struct mat{ int m[N][N]; //将A.m[i][j] 改成 A[i][j] 这种格式 int* operator [] (size_t i) {return m[i];} const int* operator [] (size_t i) const {return m[i]; 阅读全文
posted @ 2025-09-18 11:06 _AzureSky 阅读(6) 评论(0) 推荐(0)
摘要: 二维分块浅谈 我们以例题探究二维分块的运用以及对分块复杂度的分析,学习如何有效分块 原题链接 题目大意 给定 \(n\) 个第一象限内的整点 \((x,y)\),距离不大于 \(r\) 的两点间连一条无向边,试求存在奇环的连通块上的所有点。 数据范围 \(2\leq n \leq 10^5 ,1 \leq r \ 阅读全文
posted @ 2025-09-18 11:05 _AzureSky 阅读(130) 评论(0) 推荐(1)
摘要: 题目传送门 DP、状态设计优化。 题意 将一个 \(2 \times N(N \le 2\times 10^5)\) 的矩阵分为尽可能多的联通块,使得每个联通块中的数的平均值都相等,求最多可以将矩阵分为多少个联通块。 题解 显然是 DP,并且复杂度要在 \(O(N \log N)\) 或者 \(O( 阅读全文
posted @ 2025-09-18 10:41 _AzureSky 阅读(12) 评论(0) 推荐(0)
摘要: [ARC198C] Error Swap 题目传送门 构造 题意 给定长度为 $ N $ 的两个整数序列 $ A=(A_1,A_2,\dots,A_N) $ 和 $ B=(B_1,B_2,\dots,B_N) $。 你可以执行以下操作最多 $ 31000 $ 次: 选择满足 \(1 \le i < j \le N\) 的整数对 \((i,j 阅读全文
posted @ 2025-09-12 21:45 _AzureSky 阅读(17) 评论(0) 推荐(0)