03 2022 档案

摘要:2022-03-28 SP15376 RMID - Running Median 1.权值线段树 常用的方法,但是写起来比较繁琐且容易出错。 1 #include<iostream> 2 #include<vector> 3 #include<algorithm> 4 #include<cmath> 阅读全文
posted @ 2022-03-28 16:30 Tiachi 阅读(61) 评论(0) 推荐(0)
摘要:2022-03-28 两个0之间至少有2个1,所以判断两个0之间的间隔,也就是1的数量,如果少于2那就sum++; 1 #include<iostream> 2 #include<vector> 3 #include<string> 4 #include<unordered_map> 5 #incl 阅读全文
posted @ 2022-03-28 16:21 Tiachi 阅读(32) 评论(0) 推荐(0)
摘要:#include<iostream> using namespace std; #define maxn 100 int a[maxn]; int len; void init(int len) { for(int i=1;i<=len;i++) a[i]=i; } void insert(int 阅读全文
posted @ 2022-03-21 13:11 Tiachi 阅读(41) 评论(0) 推荐(0)
摘要:1 //看了主席树,初步理解可持久化线段树,是用于查找不同区间,利用不同插入值的时候的线段树, 2 //因为每个线段树查找都只能是【1,maxn】 3 //所以如果要查找【l,r】,那么把【1,r】-【1,l-1】作为每个节点,这就是看作从r的线段树中剥夺了l-1的节点 4 //实现方法是要用dt建 阅读全文
posted @ 2022-03-18 10:26 Tiachi 阅读(59) 评论(0) 推荐(0)
摘要:2022-03-12 实际上就是无限物品的01背包问题。 1.二维数组方法 与01背包不同的地方在于,01背包是通过检验max【bag[i-1][j],bag[i-1][j-something[i].weight]+something[i].val】,它的思想都是基于上一次取的物品,不可以基于本次, 阅读全文
posted @ 2022-03-12 13:17 Tiachi 阅读(44) 评论(0) 推荐(0)
摘要:2022-03-12 背包容量bagmaxn,物品总数something.size(),物品价值val,物品重量wgt bag[i][j]:i是前几个物品,j是包包容量多少时 1.二维数组方式: 无所谓背包物品谁先遍历,习惯先物品再背包,初始化无所谓,背包遍历从前往后可以,因为二维数组方式是对bag 阅读全文
posted @ 2022-03-12 13:04 Tiachi 阅读(43) 评论(0) 推荐(0)
摘要:2022-03-02 19:47:22 已知二分查找的实现原理啥的了,觉得去手打个二分查找emmm有点懒,看看有无好的函数吧! lower_bound( begin,end,num):从数组的begin位置到end-1位置二分查找第一个大于或等于num的数字,找到返回该数字的地址,不存在则返回end 阅读全文
posted @ 2022-03-02 20:42 Tiachi 阅读(33) 评论(0) 推荐(0)
摘要:2022-03-02 终于有做题的开心啦哈哈哈哈,可惜第一次提交还是只有90,终点也是路障,这,这真没想到,因为看到起点不是路障就惯性思维了。 题目背景 给定一个N*M方格的迷宫,迷宫里有T处障碍,障碍处不可通过。给定起点坐标和终点坐标,问: 每个方格最多经过1次,有多少种从起点坐标到终点坐标的方案 阅读全文
posted @ 2022-03-02 19:43 Tiachi 阅读(38) 评论(0) 推荐(0)
摘要:2022-03-02 对于哈夫曼树和哈夫曼编码已经有所认识,此题相当于使用多叉树的哈夫曼编码方式。对于k叉树,我们可以不用树形结构而用队列来做,会更方便,哈夫曼编码又需要选择最小的k个值来结合,故我们使用优先队列,在头文件queue中,名为 priority_queue 这个STL的使用方法: 默认 阅读全文
posted @ 2022-03-02 18:48 Tiachi 阅读(24) 评论(0) 推荐(0)
摘要:1 inline int read() 2 { 3 int x = 0;char c = getchar(); 4 while (c < '0' || c>'9') c = getchar(); 5 while (c >= '0' && c <= '9') x = x * 10 + c - '0', 阅读全文
posted @ 2022-03-02 09:11 Tiachi 阅读(25) 评论(0) 推荐(0)
摘要:2022-03-01 记得大一上的通信原理课提到了霍夫曼编码 目的:实现某段文本的编码压缩,以及对其的解压操作 分步骤: 1.进行构造霍夫曼树 1 #include<iostream> 2 using namespace std; 3 #define maxn 3000 4 typedef stru 阅读全文
posted @ 2022-03-02 00:41 Tiachi 阅读(76) 评论(0) 推荐(0)
摘要:差分: 给出n个数,再给出Q个询问,每个询问给出l,r,x,要求你在l到r上每一个值都加上x,而只给你O(n)的时间范围,怎么办? Xenny大佬的树状数组详解 - Xenny - 博客园 (cnblogs.com)里利用一个差分值构建的树状数组,可以用来进行区间更新,单点查询。 差分的特点是区间[ 阅读全文
posted @ 2022-03-01 00:47 Tiachi 阅读(57) 评论(0) 推荐(0)
摘要:题目:Problem - D - Codeforces 本题目思路以分块思想为框架,而具体实现却也卡了我很久,思路参见2014年国家队集训论文集中王悦同的《根号算法——不只是分块》。 太多技巧和方法需要掌握了,路漫漫其修远兮! 1 #include<iostream> 2 #include<algo 阅读全文
posted @ 2022-03-01 00:28 Tiachi 阅读(91) 评论(0) 推荐(0)