
基础
nymph181
这个作者很懒,什么都没留下…
展开
-
【二分答案】逮虾户
二分答案原创 2019-11-13 19:14:53 · 286 阅读 · 0 评论 -
【搜索】JZOJ_1764 游戏
题意一个完整的倒三角有nnn层,第一层有nnn个数字,为原始数字,接下来每层都比上一层减少111个数字,并有f[i,j]=f[i−1,j]+f[i−1,j+1]f[i,j]=f[i-1,j]+f[i-1,j+1]f[i,j]=f[i−1,j]+f[i−1,j+1],如 3 1 2 4 4 3 6 7 9 16给出f[n,1]f[n,1]f[n,1]...原创 2019-05-18 16:50:40 · 208 阅读 · 0 评论 -
【二分答案 ST表】JZOJ_6294 动态数点
题意见数字对思路显然满足单调性,所以二分答案,利用STSTST表判断区间最小值和区间GCDGCDGCD是否相同。很不幸,我拿到了85分,发现别人打了intintint能过???代码#include <queue>#include <cmath>#include <cstdio>#include <cstring>#includ...原创 2019-08-15 19:37:51 · 194 阅读 · 0 评论 -
【差分 排序】SSL_1351 矩形反色
题意有NNN个矩形,每次会把框住的地方颜色反过来,求操作后的周长。思路可以发现当一条线被覆盖奇数次时是会统计进答案的,偶数时则不会。我们就可以把矩形的纵列分别处理,利用差分算出覆盖次数。代码#include<cstdio>#include<cstring>#include<algorithm>struct node { int l, x, ...原创 2019-08-07 07:44:02 · 242 阅读 · 0 评论 -
【搜索】SSL_1338 逃亡路径
题意给出n∗mn*mn∗m的矩形,求出骑士从(1,1)(1,1)(1,1)走到(n,m)(n,m)(n,m)的最短路径的条数。思路搜索即可。代码#include<queue>#include<cstdio>#include<cstring>#include<algorithm>const int dx[] = {1, 1, 2, ...原创 2019-08-07 07:40:28 · 170 阅读 · 0 评论 -
【倍增】CH_0601 Genius ACM
题意定义“校验值”为:从数列中取出mmm对数(不够就取完),求出每对数的差的平方和最大,这个值即为校验值。给出一个数列,把它分段,求出每一段的校验值不超过kkk时,这个数列最少要分成几段。思路首先我们需要求出校验值,即使最大的数和最小的数为一对,第二大的数和第二小的数为一对……然后求出差平方。分段,如果是朴素的方法,即为每次加入一对数判断校验值,但我们可以用倍增的思想,每次加入2的次幂...原创 2019-05-17 20:09:59 · 195 阅读 · 0 评论 -
【广搜】SSL_1316 血色先锋军
题意从一些点向周围扩散,询问一个点上什么时候被扩散到。思路广搜模型。代码#include<queue>#include<cstdio>std::queue<std::pair<int, int> > q;int n, m, a, b;int map[501][501];int check(int x, int y) { re...原创 2019-04-27 14:05:38 · 367 阅读 · 0 评论 -
【枚举 位运算】POJ_2965 The Pilots Brothers' refrigerator
题意给出一个4∗44*44∗4的棋盘,其中每个格子有两种状态+++或−-−。对一个格子进行操作可以使得格子所在的行和列状态全部取反,求出最少步数使得棋盘格子全部都为−-−。思路由于范围很小,所以我们可以直接暴力枚举格子选或不选的情况,状态压缩判断即可。代码#include<cstdio>int ans;int a[5][5], x[17], y[17], ansx[17...原创 2019-04-26 21:48:47 · 199 阅读 · 0 评论 -
【递推】JZOJ_4742 单峰
题意求出nnn的排列中是单峰的个数。思路设f[i]f[i]f[i]为iii的排列中单峰的个数。因为iii的排列中iii是峰顶,所以我们把iii插在i−1i-1i−1的左边或右边,这个排列也是单峰的。那么f[i]=f[i−1]∗2f[i]=f[i-1]*2f[i]=f[i−1]∗2,之后就能发现答案是2n−12^{n-1}2n−1了代码#include<cstdio>c...原创 2019-03-09 16:40:30 · 197 阅读 · 0 评论 -
【进制】JZOJ_1273 袁绍的刁难
题意有很多个东西,编号为1∼N1\sim N1∼N,选一个编号为iii的东西可获得3i−13^{i-1}3i−1的价值。有多次询问,每次询问求能获得的第kkk小的价值。思路我们把三进制中为000的位看成这个编号的东西不选,111的位看成选。由于三进制中存在222,所以我们用二进制来处理第kkk小的选取数列,然后用三进制求答案。代码#include<cstdio>#def...原创 2019-01-27 19:31:41 · 248 阅读 · 0 评论 -
【RMQ 枚举 暴力】JZOJ_3895 数字对
题意给出一个序列,找出一个区间[l,r][l,r][l,r],满足ak{l≤k≤r}a_k\{l\leq k \leq r\}ak{l≤k≤r}能整除这个序列上所有的数,求出r−lr-lr−l的最大值以及这个长度的区间个数以及每个区间个数的lll,按升序输出。思路我一开始想到了线段树,然后没有想到二分答案去找区间长度,然后打了个暴力。枚举kkk,然后向两边扩展,这样的时间复杂度是O(n∗...原创 2019-01-26 07:52:04 · 204 阅读 · 0 评论 -
【数学 高精度】JZOJ_3771 小 Z 的烦恼
题意有nnn个球要放到mmm个箱子里,有以下两条规则:1、若把标号为iii的球放进了第jjj个盒子,那么标号为2∗i2*i2∗i的球一定要在第j+1j+1j+1个盒子里面(((若j&lt;m)j&lt;m)j<m)2、若把标号为iii的球放进了第jjj个盒子,并且k∗2=ik*2=ik∗2=i,那么标号为kkk的球一定要在第j−1j-1j−1个盒子里面(((若j&...原创 2019-01-20 21:00:52 · 275 阅读 · 0 评论 -
【差分 前缀和 桶】JZOJ_3913 艰难的选择
题意给出一个只含有000和111的序列,求其中最长的一段使得000和111的数量相同,输出最长长度。思路把000看成−1-1−1,记录前缀和,那么前缀和为000就说明这个区间内000和111的数量相同。那么我们要求区间[l,r][l,r][l,r],使得prer−prel=0pre_r-pre_l=0prer−prel=0,用r−lr-lr−l更新答案。我们可以用一个桶记录每个pre...原创 2019-01-24 16:18:25 · 142 阅读 · 0 评论 -
【NOIP 统计】JZOJ_3025 选择客栈
题意有nnn间客栈,它们有kkk种色调,其中每间客栈有一个最低花费为viv_ivi的咖啡店。两人住在两间色调相同的房间,他们希望在他们房间中(包括这两间)有最低花费不超过ppp的咖啡店。求出他们的住房方案数。思路先统计一个前缀和,记录每种颜色的房间有多少个。然后从后往前枚举一个端点,再枚举咖啡店,如果满足条件就加上前面相同色调的房子个数。可以有小小的剪枝。代码#include<...原创 2019-01-18 19:38:18 · 201 阅读 · 0 评论