该文被密码保护。 阅读全文
posted @ 2024-07-14 11:10 Miya555 阅读(4) 评论(1) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2024-02-06 11:00 Miya555 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 不用栈也不用map。 考虑预处理。 处理 a 数组,每次走到一个位置 i,往前搜索。 当前位置不等于 i 则通过这个位置继续往前查找。一直到当前位置等于 i,或者到达最前端则停止。 接下来进行第二次处理。 由于已经对 a 进行过预处理,在计算时只需要从有值的点分别往前统计即可。 阅读全文
posted @ 2023-10-26 20:37 Miya555 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 高二了还不会 FFT ? FastFourierTransform(FFT) 在 oi 中的主要作用是用来求“卷积”(多项式乘法)。 可将时间复杂度降为 O(nlog2n) 3步快速求出多项式乘积: 由系数表示法转换成点值表示法。 求两个多项式的乘积。 将点值表示法 阅读全文
posted @ 2023-10-24 22:05 Miya555 阅读(57) 评论(0) 推荐(0) 编辑
摘要: 我们通常采用递归的方式实现树形dp。 对于每个节点,先递归在它的每个子节点上进行dp,在回溯时,从子节点向根节点进行状态转移。 顺序一般为从叶子结点到根节点递推。 以下是写的一些树形dp题目: 一. P1352 没有上司的舞会 以子树的根作为dp状态的第一维。容易发现,每个员工是否参加至于他的上司是 阅读全文
posted @ 2023-10-16 16:37 Miya555 阅读(36) 评论(0) 推荐(0) 编辑
摘要: "此刻发生的所有事,都是你过去选择的结果。" 最近打模拟赛在状压dp上总是没有一点思路。来重学一遍。 状态压缩:通过一串 01 码来清晰地表示一个集合的状态。同时,在确定了最低位的前提下,一串 01 码与一个二进制数一一对应。 其本质上是进行了两次操作: 给这个集合的每个状态一个编号。 通过这个编号 阅读全文
posted @ 2023-10-08 22:12 Miya555 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 好可恶一道题,怎么没人告诉我输出之间有空行( 思路是先抽象成图,然后跑一边dfs记录边的前后顺序。 对于不能成环的情况,只需要再开个数组记录度数判断奇点即可。 若存在奇点则break掉,剩下的跑dfs、 //produced by miya555 //stupid mistakes:1.多测要清空 阅读全文
posted @ 2023-10-02 10:48 Miya555 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 找点图论练习题写,发现hdu又寄了,那就发到blog里吧。 思路:tarjan缩点判断DAG中点数是否为1。若是,则该图为强连通图。 //produced by miya555 //stupid mistakes:多测记得清空 //ideas:tarjan模板 #include<bits/stdc+ 阅读全文
posted @ 2023-10-02 10:30 Miya555 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 8月集训学了权值线段树,当时没怎么加强训练。 国庆刚好开始有时间,巩固巩固。补上学习笔记。 首先介绍权值树。其本质是一个记录每个数出现次数的线段树,也就是由桶建成的树。 接下来介绍各种操作。 1.插入。 由于统计的是出现次数,从这个数往上依次加1即可。 void insert(int x,int l 阅读全文
posted @ 2023-09-29 11:10 Miya555 阅读(27) 评论(1) 推荐(0) 编辑
摘要: Part 1.图论 1.分层图最短路 P6100 [USACO19FEB] Painting the Barn G #include<bits/stdc++.h> using namespace std; const int N=1e5+5,M=205,K=1e5+5; int n,m=200,k, 阅读全文
posted @ 2023-09-21 20:36 Miya555 阅读(23) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示
主题色彩