随笔分类 - 解题报告
摘要:A: Stages 题意: 给你n个字符, 现在需要从中选取m个字符,每个字符的花费为在字母表的第几位,并且如果选了某个字符, 那么下一个选择的字符必须要在字母表的2位之后, 假如选了e 那么 不能选 a-f 可以选择 g-z, 现在求能满足条件的最小花费。 题解: 直接模拟。 代码: 1 #inc
阅读全文
摘要:题意:给你一个数组, q次询问, 每次询问都会有1个[l, r] 求 区间[1,l] 和 [r, n] 中 数字的种类是多少。 解法1, 莫队暴力: 代码: 1 #include<bits/stdc++.h> 2 using namespace std; 3 #define Fopen freope
阅读全文
摘要:A: 题目没读, 啥也不会的室友帮我写的。 1 #include<bits/stdc++.h> 2 using namespace std; 3 #define Fopen freopen("_in.txt","r",stdin); freopen("_out.txt","w",stdout); 4
阅读全文
摘要:Rain and Umbrellas 题意:某同学从x=0的点走到x=a的点,路上有几段路程是下雨的, 如果他需要经过这几段下雨的路程, 需要手上有伞, 每一把伞有一个重量, 求走到重点重量×路程的最小花费。 题解:暴力,如果某段路程需要带伞,就直接去找前面有伞的地点,如果不需要伞就直接往后走就好了
阅读全文
摘要:DZY Loves Colors 题意:有n个蛋糕,起初第i个蛋糕他的颜色值为i, 现在有2个操作, 1 x y c 在[x, y]的蛋糕上都加上一层颜色值为c的蛋糕片,加了这个蛋糕片之后,会产生一个惊喜值为abs(c-a) a为上一层蛋糕片的颜色。 2 x y 求出[x, y]区间内所有蛋糕的惊喜
阅读全文
摘要:Holes 题意:现在有一排洞,每个洞有一个弹力,能弹到ai之后的洞,球会弹到这个排的外面,现在有2个操作,0 a b 将第a个洞的弹力设为b, 1 a 将球放入第a个洞,求输出进洞的次数 和 弹出这排洞进入的最后一个洞。 题解:分块暴力,对于每一个块,记录下这每一个点到下一个块的入口位置,和在这个
阅读全文
摘要:AND Graph 题意:给你一个n,一个m,m < 2^n, 然后就是如果 x & y == 0 的话就可以将这2个数连起来, 求最后的有几块。 题解:对于一个数 11000 则 他必定可以 与 00111相链接, 那么也一定可以和00111中间少了任何几个1的数相连。 任何我们对于任意一个数都跑
阅读全文
摘要:GukiZ and GukiZiana 题意:有2个操作,1 l, r, c 将区间[ l,r ]里的值都加上c, 2 y 需要找到最大的 j - i 需要满足 xj = xi = y。 题解:暴力分块,开sqrt(n)块,然后每次更新的时候,如果这个块被全覆盖,就用lazy标记,然后零散的点就直接
阅读全文
摘要:Another Version of Inversion 题意:只有2种走路方式,往右或者往下,求先走到一个大的数,在走到小的数的这种方式有多少。也就是说求出关于这个2维矩阵的逆序数。 题解:二维数组+逆序数就完事了。 代码: 1 #include<bits/stdc++.h> 2 using na
阅读全文
摘要:Time to Raid Cowavans 题意:一共有n头牛, 每头牛有一个重量,m次询问, 每次询问有a,b 求出 a,a+b,a+2b的牛的重量和。 题解:对于m次询问,b>sqrt(n)的时候我们直接把结果跑出来,当b<sqrt(n)的时候我们离线询问,算出所有一个b的任意一起点的值。 复杂
阅读全文
摘要:Unfair Poll 题意:一共有n排同学每排同学有m个人, 老师问问题有一个顺序, 先从第一排开始问,问完第一排的所有同学之后,再问第2排的,对于所有排的访问顺序为 1,2,3……n-1,n,n-1,n-2,……,2,1,2,然后每次访问到新的一排先要问完这一排的所有人才会往下一(目标)排走。
阅读全文
摘要:Ability To Convert 题意:给你一个n进制的60位的数,但是由于Alexander只会写0->9,所以他就会用10来表示十而不是A(假设进制>10); 题解:模拟就好了,先走往前走进制的位数的倍数,再判断一下首位是不是0,或者这个数有没有大于等于进制,如果有就不行,就要往后走,走到一
阅读全文
摘要:楼房重建 HYSBZ - 2957 第一次写分块, 写了之后觉得真的是暴力的一比。 题解:先讲n分成 sqrt(n)块,记得补上末尾的, 然后就是对于每一次更新操作, 都重新的讲这个块里面的有效楼放入vector里面, 然后再从头开始upper_bound查找就好了。 还是再说一句, 真的暴力。 代
阅读全文
摘要:HDU-4747 题意:对于每一段连续区间找到mex的值(mex 即为没出现过的数的最小非负数),然后对所有的改值进行求和, 输出ans。 题解:首先我门可以暴力的跑出 区间 [1,2], [1,3],……,[1,i]的mex值, 由于mex的定义, 我们可以得知, 左边的区间mex一定是不大于右边
阅读全文
摘要:Souvenirs 题意:给你n个数, m次询问, 对于每次一次询问, 求出询问区间内绝对值差值的最小值。 题解:先按查询的右端点从小到大sort一下,然后对于塞入一个数的时候, 就处理出所有左端点到目前位置的点, 然后查询。 首先对于一个区间 [L,now] 和 另一个区间来说 [l+1,now]
阅读全文
摘要:Isomorphic Strings 题意:给你一个长度为n的字符串, m次询问, 每次输入一个s, t, l, 是的 [s,s+l-1] 与 [t,t+l-1] 里面的字符一一对应。并且只能一对一 不能一对多也不能多对一。 题解:Hash求解, 对于这段区间, 找到某个字符对应的字符, 将Hash
阅读全文
摘要:Pencils and Boxes 题意: n支铅笔,每只笔有一个颜色值, 无限个盒子, 如果一个盒子里面放笔的话, 就至少需要k支笔装在一起,并且一个盒子里面的笔的颜色值只差 不能大于 d。如果满足条件就输出YES,不满足就输出NO 题解: 对于这一条直线来说, B,C的长度为K+1, && va
阅读全文
摘要:GRE Words Revenge 题意和思路都和上一篇差不多。 有一个区别就是需要移动字符串。关于这个字符串,可以用3次reverse来转换, 前面部分翻转一下, 后面部分翻转一下, 最后整个串翻转一下就好了。 注意就是多组测试,需要初始化。 1 #include<bits/stdc++.h> 2
阅读全文
摘要:Kuro and GCD and XOR and SUM 题意:给你一个空数组。 然后有2个操作, 1是往这个数组里面插入某个值, 2.给你一个x, k, s。要求在数组中找到一个v,使得k|gcd(x,v) (即gcd(x,v)是k的倍数,v+x <= k, x ^ v的值最大。 题解:XOR亦或
阅读全文
摘要:Cut 'em all! 题意:求删除了边之后,剩下的每一块联通块他的点数都为偶数,求删除的边最多能是多少。 题解:如果n为奇数,直接返回-1,因为不可能成立。如果n为偶数,随意找一个点DFS建树记录下他的子孙+本身的个数。然后再DFS一下,对于每一个点,他的个数为偶数,就把他与父节点的边隔断, c
阅读全文

浙公网安备 33010602011771号