02 2020 档案

摘要:链接:Miku 我记得扫描线有一道更水的例题来 扫描线,顾名思义,我们做这道题的时候,就要是用一道线来扫描一样 这里有一堆矩阵,把每一个区间拆成上下两个线段,然后按照某一个端点排序,这道线就开始从头扫描 到了一个矩阵开始的线,我们就更新扫描线的长度,反之减少即可 两个线段之间的长度很明显就是区间距离 阅读全文
posted @ 2020-02-29 18:39 Simex 阅读(167) 评论(0) 推荐(0) 编辑
摘要:链接:Miku 一道二分+线段树 显然暴力模拟会T飞,可以用二分解决 二分啥呢?二分mid与最后在q的位置的数的大小 但是怎么知道大还是小呢,既然我们只想要知道大还是小,那么那个点原来是 多大/多小是没有意义的,只有和mid的相对大小,那么我们就把比mid大的改成1,小于等于的改为0 然后进行排序 阅读全文
posted @ 2020-02-29 18:11 Simex 阅读(165) 评论(0) 推荐(0) 编辑
摘要:链接:Miku 没有UVa账号唉 卡了蒟蒻一天,因为漏掉了懒标记的下放。 线段树的巨大码量,为bug提供了绝佳的掩护 写完后,我哭了 人间的喜悦就这么简单吧 对于一个矩阵,有两个操作,子矩阵加v或者子矩阵变为v 询问子矩阵最大值,最小值和和 最简单的想法是线段树,不过太难实现了(对于本蒟蒻),所以说 阅读全文
posted @ 2020-02-28 17:30 Simex 阅读(337) 评论(0) 推荐(0) 编辑
摘要:策略组是个好东西,可惜家庭版没有 但是,请看大佬博客https://blog.csdn.net/cangsheng45/article/details/82262037 阅读全文
posted @ 2020-02-26 17:16 Simex 阅读(273) 评论(0) 推荐(0) 编辑
摘要:他活了 非常好用的离线网页音乐解密工具 感谢作者 https://tool.ixarea.com/music/ 但是他可能再死一次? 还是建议去github本地部署 https://github.com/ix64/unlock-music 阅读全文
posted @ 2020-02-26 13:05 Simex 阅读(696) 评论(0) 推荐(0) 编辑
摘要:链接:Miku 这道题比想象的要水,虽然说标签有个离散化,但是事实上根本不用 但是这道题的空间范围很苛刻,倘若写记录每个点的左右子节点的线段树写法的话,可能会MLE 所以我写了不记录的写法,这样虽然会牺牲时间,但是节省了空间 而且这道题的空间,竟然开n*3就可以了 思路:海报之间是没有区别的,暴力的 阅读全文
posted @ 2020-02-25 19:07 Simex 阅读(157) 评论(0) 推荐(0) 编辑
摘要:链接:Miku 凡天下之事,但知其一不知其二者多矣,可据理臆断欤? 我就是但知其一呜呜呜 %%%并感谢yyq大佬 很显然可以用线段树操作 这次的lazy指的是这个区间需不需要被反转,然后显然,一个区间反转后亮的灯泡的值就是区间灯泡总量-原来亮的值 所以写出来了个这个 #include<iostrea 阅读全文
posted @ 2020-02-24 20:58 Simex 阅读(136) 评论(0) 推荐(0) 编辑
摘要:链接:Miku 这道题和线段树有什么关系 很简单的贪心,如果一堆牌比左边的大,那么肯定是要加上他的差的 反正,顺手出掉就可以了 #include<iostream> using namespace std; long long ans; long long last; int n; long lon 阅读全文
posted @ 2020-02-24 15:55 Simex 阅读(120) 评论(0) 推荐(0) 编辑
摘要:链接:Miku 再见了,我的公主! 去除题面,这就是一道线段树板子题,暴力枚举每一个区间然后去最大值就可以了 有星星重叠?本来就是在那个点加上去,继续加就可以了 这就是道裸的区间和+单点修改 以及,为了省事,我的线段树直接把右端点搞成了100000,毕竟一堆零没有任何影响 #include<iost 阅读全文
posted @ 2020-02-23 19:10 Simex 阅读(181) 评论(0) 推荐(0) 编辑
摘要:链接:Miku 线段树水题 单点修改+区间最大值查询 这道题比板子很简单,因为懒标记不用写 为什么呢,懒标记什么时候用?我们要修改的区间完全覆盖了某个区间的时候 全是单点修改还能覆盖谁?只有他自己啊。 那还懒什么,懒不了 因为在洛谷上的要求是大于原来的成绩再修改,所以我们修改的时候还要加个判断 至于 阅读全文
posted @ 2020-02-23 17:19 Simex 阅读(135) 评论(0) 推荐(0) 编辑
摘要:链接:Miku 欸,为什么我第一遍没过 #include<iostream> using namespace std; int n; int ans[10000]; int l=1; int main(){ cin>>n; ans[l]=n; if(n==27) cout<<324342; whil 阅读全文
posted @ 2020-02-22 20:22 Simex 阅读(235) 评论(2) 推荐(0) 编辑
摘要:链接:Miku 天哪,这道水题我第一次做的时候写了些什么鬼 重构水题代码 特别是当年竟然没过的 #include<iostream> using namespace std; int n; int a[300]; int f; int now=1; int ans[50000]; int sum; 阅读全文
posted @ 2020-02-22 20:21 Simex 阅读(159) 评论(0) 推荐(0) 编辑
摘要:链接:Miku 这道题可以帮你深入了解懒标记的意义 蒟蒻本来想通过蒟蒻做法做的,就是种树就在位置+1,砍了-1,然而发现这样做会砍掉不存在的树 然而懒标记这个东西,为什么一定要是加或减呢?标记成这个区间需要修改成什么也可以呀 一开始的种树,就相当于把整个区间赋值为1,而砍树,就相当于把这个区间赋值为 阅读全文
posted @ 2020-02-22 20:00 Simex 阅读(114) 评论(0) 推荐(0) 编辑
摘要:线段是是一个很好用的数据结构,特别是在于长长的板子 链接:Miku 先来一份线段树1的代码 #include<iostream> #include<cstdio> #include<algorithm> int n,m; long long sum[400005], lazy[400005]; in 阅读全文
posted @ 2020-02-22 18:28 Simex 阅读(120) 评论(0) 推荐(0) 编辑
摘要:链接:Miku 一道非常水的静态区间查询的问题。 为什么说他水呢,在洛谷上的数据实在太弱,直接n^2暴力预处理都行 然而我是不会那么干的,我选择了st表 在这道题中,只要加上一个gcd函数,然后把转移的和询问的方式改成两个区间gcd的方式就可以了 #include<iostream> #includ 阅读全文
posted @ 2020-02-22 08:14 Simex 阅读(200) 评论(0) 推荐(0) 编辑
摘要:我讲一下我自己的解决方法 这个错误还是很明显的,没事干,如果不是kms的锅的话,那么就是字面上的问题了 为什么没事干?要不就是你已经激活了,激活了自然没事了。 要不就是你的电脑上的软件不在它的工作范围内,它没找到可以激活的东西,也没事干。 可能恰好您的版本和它工作范围内的版本不包括吧,可以试试重装另 阅读全文
posted @ 2020-02-22 07:54 Simex 阅读(7164) 评论(0) 推荐(0) 编辑
摘要:链接:Miku 非常水,套公式 #include<iostream> using namespace std; int n,m; int ans1; int ans2; int a; int b; int main(){ cin>>n>>m; if(n>m) swap(n,m); for(int i 阅读全文
posted @ 2020-02-17 21:57 Simex 阅读(146) 评论(0) 推荐(0) 编辑
摘要:链接:Miku 对于这个题,我们对于每一个数i,分别求出所有比它小的,在它前面的和 比它大的,在它后面的,然后把这两个乘起来,然后再把这些积加起来就可以了 然而这样直接做复杂度太高了,我们要优化,仿照树状数组求逆序对的方法,我们就可以在可以接受的时间内求出并且解决问题了 #include<iostr 阅读全文
posted @ 2020-02-15 19:05 Simex 阅读(107) 评论(0) 推荐(0) 编辑
摘要:链接:Miku 这道题虽说是要偶数个数的数的异或和,但是这就是等于区间奇数个数的数的异或和异或上数的种类的异或和 然后奇数这部分可以用前缀异或和来解决,至于种类的问题,就和HH的项链方法一样了 #include<iostream> #include<cstdio> #include<algorith 阅读全文
posted @ 2020-02-15 18:57 Simex 阅读(159) 评论(0) 推荐(0) 编辑
摘要:链接:Miku %%%ljx巨佬会莫队 这道题可以用树状数组过 首先,把所有询问按照右端点从小到大排序,这个很容易想到,然后非常容易想到,建立一个数组f, 如果数字a在i出现了,就再f[i]=1,然后统计一下区间和就可以了,当然,用树状数组优化 然而考虑一下这样的问题:区间不包含这个数了,这个数重复 阅读全文
posted @ 2020-02-15 18:34 Simex 阅读(106) 评论(0) 推荐(0) 编辑
摘要:链接:Miku 蒟蒻在线%lmk,ljx,lpy,yyq大佬们 Good Night Good luck 这是一道巨大的模拟题,我的做法是创建一块大画布,然后从后往前覆盖即可,具体实现,离不开代码 #include<iostream> #include<cstdio> using namespace 阅读全文
posted @ 2020-02-14 23:00 Simex 阅读(181) 评论(2) 推荐(0) 编辑
摘要:链接:Miku 这一个问题考虑为两种问题 1:剩下的砝码有什么情况? 2:能拼出多少种? 对于1:没有办法,只能爆搜所有情况 对于2:用一个改良的01背包就可以解决 #include<iostream> #include<cstdio> #include<cstring> using namespa 阅读全文
posted @ 2020-02-08 15:29 Simex 阅读(146) 评论(1) 推荐(1) 编辑
摘要:链接:Miku 这是一道背包,但是对于放东西有条件限制 首先思考,对于每一个物品,除非放不了,否则就要放,不放上就吃掉,肯定不能扔那不管 我们定义dp[i][j]为第i个物品,高度为j的时候能活的最长时间,那么整个转移过程就是 for(int i=1;i<=g;++i){ for(int j=0;j 阅读全文
posted @ 2020-02-07 21:04 Simex 阅读(154) 评论(0) 推荐(0) 编辑
摘要:链接:Miku 题目描述一脸懵逼 这道题本质上是两个完全背包而已。首先,对于每个船,他所能装的最大货物价值是一定的, 我们可以跑完全背包求出每艘船能装的最大价值 然后考虑需求,虽然说题目是把一块大石头分割成小石头,不过我们倒着想,把许多小石头拼成一个大石头不也是一样吗?并且如果石头的体积大于1,那么 阅读全文
posted @ 2020-02-07 19:59 Simex 阅读(130) 评论(0) 推荐(0) 编辑
摘要:链接:Miku 这道题还是个背包 首先看一下声音的组成,对于每一个农场的声音,它是由两部分组成的 :上一个农场的声音-1(如果有的话)+这个农场的声音(如果有的话) ,并且声音也之和上个农场的总声音有关(注意,总声音,上个)和这个农场,所以我们可以递推出每一个农场的声音。 那么每一个声音代表多少牛呢 阅读全文
posted @ 2020-02-07 18:44 Simex 阅读(164) 评论(2) 推荐(0) 编辑
摘要:链接:Miku 这就是一个完全背包的板子题 我们把重量当作重量,开销当作价值,那么这个题就是个求价值最小的完全背包 然而题目上说了是不少于,也就是说最优解不一定恰好就是买h磅的时候,怎么办呢? 只要多余h就行了的话,我们就在h+x的范围内找一个最小值不就可以了? 1 #include<iostrea 阅读全文
posted @ 2020-02-04 18:29 Simex 阅读(154) 评论(0) 推荐(0) 编辑
摘要:链接:Miku 这题没边界,用bfs比较好 与处理完了就没什么好说的特别之处 #include<iostream> #include<cstdio> #include<cstring> #include<queue> using namespace std; int safe[305][305]; 阅读全文
posted @ 2020-02-02 16:41 Simex 阅读(238) 评论(0) 推荐(0) 编辑
摘要:链接:Miku 这道题给了我一个惨痛的教训 虽然说我是被学信息学不用写字吸引的,但是做题必须证明,必须动笔证明! 本蒟蒻被绿题卡了3个小时有感 这道题最后写出来发现并不是怎么很难啊,为了无后效性,我们倒着搜索每一个任务,因为任务的特殊要求,我们开一个数组记录这个时候的 开始的任务数。对于每一个时间, 阅读全文
posted @ 2020-02-02 16:39 Simex 阅读(103) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示