----前缀和
文章平均质量分 63
扩展的灰
扩展的灰(Extended Ash)
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Jzoj5409 Fantasy
Y sera 陷入了沉睡,幻境中它梦到一个长度为N 的序列{Ai}。 对于这个序列的每一个子串,定义其幻境值为这个子串的和,现在Y sera 希望选择K 个不同的子串并使得这K 个子串的幻境值之和最大。 然而由于梦境中的种种限制,这些子串的长度必须在L 到R 之间。 你需要告诉她,最大的幻境值之和。 对于100% 的数据,有1 此题做法比较神奇,也很好懂,但是很难搞清楚如何去构原创 2017-11-06 20:55:19 · 354 阅读 · 0 评论 -
CDQ分治&整体二分九连测
整体二分好难a CDQ分治&整体二分九连: A[适者] 先来一个不是cdq分治的题(虽然也可以用分治做) 首先先来考虑按照什么顺序来搞掉这些机甲 对于两个相邻的机甲i,j,先i后j的代价是Ai∗Di+(Di+Dj)∗AjAi∗Di+(Di+Dj)∗AjA_i*D_i+(D_i+D_j)*A_j 那么如果i应该比j先消灭就有 Ai∗Di+(Di+Dj)∗Aj<A...原创 2018-08-19 21:32:06 · 702 阅读 · 0 评论 -
51Nod1472 取余最大值
题目看这里 又是一个七级题目 妥妥的分治啊,枚举右端点,左边分两段计数就好啦~ 关于标解: 网上好像很多都是前缀和+二分之类的,反正应该差不多快吧 #include<stdio.h> #include<string.h> #include<algorithm> #define N 300010 #define LL long long us...原创 2018-08-01 14:15:56 · 438 阅读 · 0 评论 -
51Nod1592 数列积
题目看这里 无比暴力的大分块,极端不优美 听说很多人用莫队水过去了,我还是被最后一个点卡WAing(本地都过了) 说下解法: 首先,将整个序列分块,分成n−−√n\sqrt{n}块 将区间分成三个部分:前面多出来的+中间若干整块+后面多出来的 价值就可以这样计算:中间若干块+前面部分自身价值+后面部分价值+前面和后面与中间产生的价值+前面和后面产生的价值 分别考虑每一个部分怎么计...原创 2018-08-01 09:04:38 · 284 阅读 · 0 评论 -
51Nod1158 全是1的最大子矩阵
题目看这里 想到了NOIP普及组当年那道题 做法非常显然,O(n^2)枚举矩形的上下边界,让后用一个dp+前缀和就搞定了 f[i]表示以第j列作为结尾的最大子矩形的宽,那么如果第i列在[l,r]的范围都是1,那么f[i]=f[i+1],否则f[i]=0 答案就是max{(r-l+1)*f[i]} #pragma GCC opitmize("O3") #pragma G++ opitm原创 2018-04-27 17:19:44 · 358 阅读 · 0 评论 -
51Nod1426 沙拉酱括号
题目看这里 我们考虑怎样得到最大答案 首先对原序列进行括号配对,没有配对上的那些可以直接扔掉不影响答案 让后我们有一个合法的括号序列 当一对括号与区间有相交但是不包含整个区间时,将会产生一个位置的浪费(在区间内的那个左括号或者右括号没法配对了),所以答案-1 那么一个区间的答案[l,r]应该是r-l+1-与这个区间相交的括号对数+包含这个区间的括号对数(会被减重) 求相交的个数可以前缀原创 2018-02-22 21:41:02 · 268 阅读 · 0 评论 -
Jzoj4209 已经没有什么好害怕的了
小Y 最近开始学习算法姿势,但是因为小R 非常BB,给了她很多B6 题,所以她觉得自己已经没有什么前途了。 于是小R 给了她一些稍微简单的题,让她觉得已经没有什么好害怕的了,其中一道是这样的: 给定一个长度为n 只包含左括号和右括号的序列,现在小R 想要知道经过每一个位置的合法子串有多少个。 空串是一个合法的串,如果A 和B 都是合法的串,那么(A) 和AB 都是合法的串。 n 又原创 2018-01-17 12:13:13 · 587 阅读 · 0 评论 -
Jzoj4770 闭门造车
自从htn体验了一把飙车的快感,他就下定决心要闭门造车!但是他两手空空怎么造得出车来呢?无奈的他只好来到了汽车零部件商店。 一走进商店,玲琅满目的各式零件看得htn眼花缭乱。但是他很快便反应过来:我只要买一套好的零件就行。首先它们的性能差不能太大,否则汽车的兼容性不好,开着开着就损坏了;其次,当然是越便宜越好了!为了打造一辆顶级跑车,htn陷入了沉思…… 现在商店中有 N 件零件,给出这 N原创 2017-11-24 18:21:16 · 308 阅读 · 0 评论 -
Jzoj5231 序列问题
给你序列A,定义f(l,r)=max{al,al+1,....,ar} , g(l,r)=min{al,al+1,....,ar} 求ΣΣf(i,j)*g(i,j) { i∈[1,n],j∈[i,n] } 哇第一道cdq分治的题诶,当时好像还不会这个玩意2333 我们cdq分治一下,先求出[1,mid]和[mid+1,r]的答案 让后我们考虑枚举j∈[mid+1,r] 对于每一个j,我们原创 2017-11-15 21:39:56 · 545 阅读 · 0 评论 -
Jzoj5440 【NOIP2017提高A组冲刺11.1】背包
蛤布斯有n种商品,第i种物品的价格为ai,价值为bi。有m个人来向蛤布斯购买商品,每个人每种物品只能购买一个。第j个人有cj的钱,他会不停选择一个能买得起的价格最高的商品买走(如果有多个则选择价值最高的)。你需要求出每个人购买的物品的价值和。 先吐槽几句,今天的题十分坑,第二题是遗忘多时的搜索:迭代加深,考场上勉勉强强打了个bfs还是挂了 第三题是从来没有见过的dp,在图的dfs树上做三进制状原创 2017-11-01 15:54:05 · 682 阅读 · 0 评论 -
Jzoj2934 字符串函数
首先显然不能每个串暴力,我们考虑单独计算每一个字符的贡献 对于b[i],若我们找到a[j]=b[i],可以分两种情况讨论 1.i 所以贡献就是i*j 2.i>j 情况是对称的,所以贡献是(n-i+1)*(n-j+1) 所以对于原创 2017-09-20 21:48:34 · 437 阅读 · 0 评论 -
Jzoj5417 方阵
题目背景 热烈庆祝北京师范大学附属实验中学成立100周年! 问题描述 为了准备校庆庆典,学校招募了一些学生组成了一个方阵,准备在庆典上演出。 这个方阵是一个n*m的矩形,第i行第j列有一名学生,他有一个能力值Aij。 校长会定期检查一个p*q的方阵,询问这个方阵的学生能力值之和,或是学生能力值的最大值,或是学生能力值的最小值。由于校长不原创 2017-11-07 07:41:48 · 440 阅读 · 0 评论 -
Jzoj5410 小型耀斑
Uthuso 的核反应失控了,她在地灵殿释放了几颗大核弹.地灵殿可以看做一个大小为n*m 的矩阵.一颗大小为k 的核弹,对于任意一个与爆炸中心曼哈顿距离小于k 的地区,会造成(k-(该地区到爆炸中心曼哈顿距离))*(该地区的价值)的损失.现在,地灵殿方面想统计一下每颗核弹造成的损失,请你来帮忙计算. 哇我十月都在做些什么毒瘤题啊 这个题读者可以稍微思考一下再看,因为下面的东西会很难看 这个题原创 2017-11-06 21:14:55 · 383 阅读 · 0 评论 -
状压DP十六连测
DP应该先学插头 状压DP十六连 A[寿司晚宴] 开始想到了反演,设f(d)f(d)f(d)表示两边选出来的公因数为d的方案数,设F(d)F(d)F(d)… 好的介绍一个套路,按照最大的质因子分类(没错这不是洲阁筛) 我们发现小于500−−−√500\sqrt{500}的质数只有8个,可以搞一个2162162^{16}的状态表示一种方案 让后,我们设T(x)T(x)T(x)表示x...原创 2018-08-28 09:33:27 · 481 阅读 · 0 评论
分享