随笔分类 - 知识总结
发表于 2024-10-20 15:11阅读次数:18评论次数:0
摘要:这类题是让你求对序列进行一系列操作之后的最小/最大中位数 求最小中位数 二分最小中位数,显然二分要符合 mid 越大越对,边界才能向下收缩。 对于这个条件,我们选择计算 小于等于 当前 mid 的数才是对的,因为这样显然 mid 越大 cnt 越大,而符合这个条件,我们就不断收缩上界,直到达到第一个
阅读全文 »
发表于 2024-08-02 09:36阅读次数:23评论次数:0
摘要:板子和常识 https://oi-wiki.org/graph/bcc/ 板子用的是 tarjan算法2 的思想 只能跑无向图 理论基础 SCC部分 对于一个连通分量图,我们很容易想到,在该连通图中有且仅有一个 使得 。该结
阅读全文 »
发表于 2024-07-31 07:43阅读次数:671评论次数:1
摘要:理论基础 异或哈希是个很神奇的算法,利用了异或操作的特殊性和哈希降低冲突的原理,可以用于快速找到一个组合是否出现、序列中的数是否出现了k次 https://blog.csdn.net/notonlysuccess/article/details/130959107 https://codeforce
阅读全文 »
发表于 2023-11-27 18:12阅读次数:10评论次数:0
摘要:STL之map 学籍管理 题目描述 您要设计一个学籍管理系统,最开始学籍数据是空的,然后该系统能够支持下面的操作(不超过 条): 插入与修改,格式1 NAME SCORE:在系统中插入姓名为 NAME(由字母和数字组成不超过 20 个字符的字符串,区分大小写) ,分数为 \(\te
阅读全文 »
发表于 2023-11-27 17:42阅读次数:8评论次数:0
摘要:STL之set 木材仓库 题目描述 博艾市有一个木材仓库,里面可以存储各种长度的木材,但是保证没有两个木材的长度是相同的。作为仓库负责人,你有时候会进货,有时候会出货,因此需要维护这个库存。有不超过 100000 条的操作: 进货,格式1 Length:在仓库中放入一根长度为 Length(不超过
阅读全文 »
发表于 2023-11-10 11:59阅读次数:3评论次数:0
发表于 2023-11-10 10:57阅读次数:9评论次数:0
发表于 2023-11-08 17:21阅读次数:17评论次数:0
摘要:DP无思路题汇总 即只能完全靠题解想出做法的题目。 P5020 NOIP2018 提高组 货币系统 P2851 USACO06DEC The Fewest Coins G P1877 [HAOI2012] 音量调节 P1941 飞扬的小鸟 P3842 [TJOI2007] 线段 P2285 [HNO
阅读全文 »
发表于 2023-11-01 22:27阅读次数:8评论次数:0
摘要:DP查缺补漏之多重背包优化原理 普通思路 类似完全背包 for (int i = 1; i <= n; i++) { for (int j = 1; j <= W; j++) { for (int k = 0; k * w[i] <= j && k <= m[i]; k++) { F[i][j] =
阅读全文 »
发表于 2023-11-01 15:04阅读次数:7评论次数:0
摘要:DP查缺补漏之完全背包优化原理 先复习一下基本知识 状态假设 DP[I][J]为前 个物品,容量小于 时的最优解(最大价值) 状态转移 DP[I][J] = max(DP[I - 1][J], DP[I - 1][J - k*V[I]] + k*W[I]) 对于第 个物品,两
阅读全文 »
发表于 2023-11-01 11:05阅读次数:9评论次数:0
摘要:DP查缺补漏之01背包优化原理 先复习一下基本知识 状态假设 DP[I][J]为前 个物品,容量小于 时的最优解(最大价值) 状态转移 DP[I][J] = max(DP[I - 1][J], DP[I - 1][J - V[I]] + W[I]) 对于第 个物品,两种可能
阅读全文 »
发表于 2023-10-25 17:54阅读次数:17评论次数:0
摘要:二分答案 使用条件(最大的最小,最小的最大) 命题可以被归纳为找到使得某命题 成立(或不成立)的最大(或最小)的 。 把 看作一个值为真或假的函数,那么它一定在某个分界线的一侧全为真,另一侧全为假。 可以找到一个复杂度优秀的算法来检验 的真假。 好理
阅读全文 »
发表于 2019-02-03 08:57阅读次数:6评论次数:0
摘要:耗费了两天 了线段树的两道模板。就把我自己的代码贴出来以后 的时候做个参考吧。 线段树壹 #include <cstdio> typedef long long ll; const int N = 100000+10; int n,m; ll a[N]; struct Segmen
阅读全文 »
发表于 2019-01-28 11:13阅读次数:6评论次数:0
摘要:最长**子序列 解法 实现原理 First Second 最长上升子序列 int _1() { int up_sum=0; for(int i=1; i<=n; i++) { if(a[i] > F_up[up_sum]) { F_up[++up_sum]=a[i]; } els
阅读全文 »
发表于 2018-11-17 22:17阅读次数:9评论次数:0
摘要:豪华模板阵容 普及-难度(橙题) 背包模板 堆模板 快速排序模板 并查集模板 快速幂模板 筛素数模板 最小生成树模板 哈希模板 提高-难度(黄题) SPFA模板 裴蜀定理模板 树状数组模板 三分模板 树状数组模板(拓展) ST表模板 矩阵快速幂模板 KMP模板 提高难度(绿题) 乘法逆元模板 线段树
阅读全文 »
发表于 2018-11-08 10:48阅读次数:8评论次数:0
摘要:NOIP前必须记住的30句话 NOI赛制比赛经(翻)验(车)教(记)训(录) NOIP 竞赛注意事项 noip防低级错误手册 NOIP运行错误大集结 NOIP考纲总结+NOIP考前经验谈
阅读全文 »
发表于 2018-11-06 22:43阅读次数:6评论次数:0
摘要:快速读入输出 namespace io{ #define gc() (iS == iT ? (iT = (iS = ibuff) + fread(ibuff, 1, SIZ, stdin), (iS == iT ? EOF : *iS++)) : *iS++) const int SIZ = 1 <
阅读全文 »
发表于 2018-11-04 22:44阅读次数:3评论次数:0
摘要:今天在学术版上面问了下是不是应该所有题目都开long long,好多dalao回复了欸(开心) 总结出了以下几点: 如果乱开,你可能会receive T2+M2(卡常失败) 有可能会MLE 常数大--模拟赛爆搜ans用int得了50,用long long 只有20 long long的空间是int的
阅读全文 »
发表于 2018-10-29 22:55阅读次数:5评论次数:0
摘要:基础版 快速读入 inline void read(int& x) { x=0; char ch=0; bool sign=false; while(!isdigit(ch)){ sign|=(ch=='-');ch=getchar();} while(isdigit(ch)) { x=x*10+(
阅读全文 »
发表于 2018-10-28 00:54阅读次数:3评论次数:0
摘要:今天的瑞士轮然后看到了标签上的归并排序根本没学过好吧于是就学习了一下 归并分为两个步揍 1.利用递归分治出两个长度为一的理论上有序数列 将A,B组各自再分成二组。依次类推,当分出来的小组只有一个数据时,可以认为这个小组组内已经达到了有序,然后再合并相邻的二个小组就可以了。这样通过先递归的分解数列,再
阅读全文 »