- 博客(15)
- 收藏
- 关注
原创 CF1648B Integral Array
题目说实话,没看懂这个C的作用,找个里面的最大数不久可以了吗这个题目就是说对于任意A[i] 大于A[j] ,如果A[i]/A[j]也在数组里面,那么就输出YES,否则No最朴素的想法就是枚举每个数字,但是这样肯定超时那对于每个元素考虑,不妨枚举他的倍数a[i]/a[j]=b;也就是说去枚举这个a[j]和这个b如果范围内存在这么个a[i],也就要求a[i]/a[j]存在(逆向思考)所以这里要用到前缀和#include<bits/stdc++.h>using namespace
2022-03-18 22:21:39
330
原创 Best cow fences(大于某个长度的最大子序和)
首先从最基本的出发;1.求出一个序列的最大字段和一个O(N)的做法是从头到尾扫描,并不断用sum里加入这个数,如果段和为负数,那么就重开。2.求一个长度大于L的最大子段和这个时候第一个方法肯定不适用了,因为没有规定长度这个时候用前缀和,复杂度O(n*n);3.求一个长度大于L的平均数最大的连续子段这个时候和1,2发生了很大的区别,因为是求的平均数,而不是简简单单求个和这个时候我们可以用二分法,首先,我们可以求一个长度大于L的最大字段和,那么不妨假设平均数为A,然后序列全部减去A后得到一个新
2021-10-07 15:56:59
155
原创 CSP游记
这是考完的第二天,周二,想着虽然炸了,我还是写篇游记吧。还有199天高考day1去考场,大家满怀期待,第一天坐的是学校的车,今年考试的人多了,去年只有四个。考前很紧张,想着1=的话,T1T2得A,然后到了考场,惯例拍照。湖南大学前进楼,我在301考场。T1一看题,这么长的题面,有点懵,想着到时候再来想,先打下暴力分,递推吧(因为看完3道题然后理清T1花了快1个小时)然后当时没看清,以为...
2019-11-20 13:34:25
236
原创 CSP-2019 day1
感觉起来的时候没什么感觉,有点困。停课一周,状态有点下降了到考场看第一题题面很长,然后看了半天,想着打递推骗点分再说,打完后40min之后T2,搜索,打了一个多小时(骗点分真不容易)之后去看T3,看完后11.10,以为11:30下考,然后很慌,准备走了?之后被告知还有半个小时??接着看了下T3,不太会,还有15min,突然T1想起了正解,立马去打,打完后11:55?有个Bug没调出来?然...
2019-11-16 16:36:00
222
原创 关于树状数组的理解
看到树状数组,又有点懵了,但是实际上想一想发现其实不难a[]原始数组c[]前缀和数组对于任意一个数字xc[x]表示下标为x-lowbit(x)+1到x的a数组的前缀和那么根据这个,我们可以初始化初始化之后,其实最主要的是lowbit的使用和原理如果我们要实现单点修改我们只需要改下标为x的,到x+lowbit(x)的,再到…………就是这样一个循环的过程那么,这个原因是什么呢?不...
2019-11-13 18:28:59
102
原创 马拉松赛跑(2019.8.19)
题目这道题乍一看,发现跟几天前做过的那道书的整理岂不是差不多的吗?只是权值改变了而已而且有几个地方需要修改,结尾的时候需要判断一下其实本质上没变化然后A了#include<bits/stdc++.h>using namespace std;int dp[1001][1001];int dis[1001][1001];//前i个中选择j个的最小值 struct node...
2019-08-19 22:15:55
429
原创 P4677 山区建小学(2019.8.18)
题目最近作业越来越多了,然后看到这道题的时候,思考如何定义dp的维度我原本是准备定义dp[i][j]为前i个数字中选择j个数字的最小值但是在转移的时候我懵了,因为这个转移我觉得不太方便啊比如你枚举1-n中的点k他这个值该怎么修改呢?就相当于在k和n的点应该选择哪一个是最优的呢?然后我就准备定义dp[i][j]为在1-i中间选择j个数字最小值(其中i必定是要选的 )所以我居然还写出了个...
2019-08-18 22:12:58
173
原创 跑步(2019.8.17)
题目拿到这道题目的时候首先挺懵的,觉得就普通的递推方程真的很难写,转移方程真的是不容易题解中一种方法,让我学会了一个新的方法,叫刷表法与填表法不同的是,刷表法并不要求这个表里面的答案是上个或者之前的阶段递推而来的,可能会有很多值可以推到dp[i][j]表示的是在第i时间的时候疲劳度为j的最远距离这是比较容易想到的,但是难就难在如何解决这个填表刷表法的话第一个要填入的数字就是dp[1]...
2019-08-17 21:51:59
115
原创 书的复制(2019.8.16)
书的复制这道题的话,一看,DP还没去思考但是一看的话,肯定是可以二分答案的,满足单调性所以#include<bits/stdc++.h>using namespace std;int m,k;int ans;int sum=0;int a[1000010];void shuchu(){ int now=0; int back=1; for(int i=1;i&...
2019-08-16 22:10:04
107
原创 选择客栈(2019.8.15)
选择客栈原题这道题,一开始是想着用递推的,然后后来想着想着想复杂了,就开始用st表了。st表的话#include<bits/stdc++.h>using namespace std;int color[200010];int w[200010];int n,k,p;vector<int> v; int st[200010][22];int a[2000...
2019-08-15 14:11:10
129
原创 钓鱼P1717(2019.8.14)
钓鱼钓鱼,原题在这里这道题一看就觉得是DP然后结合我之前学的动态数组什么的打了一波代码,然后交上去发现只有80分代码如下:#include<bits/stdc++.h>using namespace std;int f[30],d[30],t[30];int ans[100001];int maxx=0;int dp[100001];int n,h;inline...
2019-08-14 21:33:35
326
原创 股票交易(2019.8.13)
股票市场USACO股票市场一开始知道,这个题目是个背包题,其实感觉不好想啊。因为觉得这个跟背包问题有什么关系吗?这个题目每天处理的话,是无法确定每天所有的背包容量的,也就是背包容量处于一个变化的过程。个人认为这个题目应该算是很经典吧,比起很多动态规划的题目,这道题目的思维难度不小。想了很久,实在没有头绪啊!看了题解,发现这个题最主要的是要看破这个背包问题!首先第一天是无法赚差价的,枚举天...
2019-08-13 21:40:52
151
原创 线性基(2019.8.12)
线性基今天写到线性基,然后谈谈这个吧首先,线性基是用来求最大异或和,对于一组数,如果我们要求他最大异或和的话,最朴素的想法把每种情况列举然后搜索(或者用循环,1-2的n次方),所以,如果数据一大,它的时间复杂度就爆了(1024的五次方QAQ)所以线性基为了解决这个问题,起到了很好的作用我们知道,一组数的异或和,是有规律的啊,比如说,你要求000011001100100101111...
2019-08-12 19:44:24
145
原创 洛谷P2938(2019.8.11)
今天写了洛谷P2938第一次看这个问题的时候觉得这是一个分组背包,类似于金明的预算方案或者说是软件安装这样的题目然后呢,把树形DP代码敲上去,发现只有23分QAQ原因在于,这个数据规模太大了,这样会超时。。。这个题,要考察的点还是蛮多的考虑到数据大,而且这个树的深度也就那么2层,用树形DP是没必要的。所以考虑二维DPdp[i][j]表示的是选择前i件物品花费j所得到的最大收益然后内...
2019-08-11 22:12:38
261
原创 初学Lucas定理(2019.8.10)
昨天怀着忐忑不安的心情来了学校今天晚上看了一下Lucas定理好像是这么一回事Lucas(n,m,p)=c(n%p,m%p)*Lucas(n/p,m/p,p)也就是说从n中取m个数模pA=a[n]a[n-1]…a[0],B=b[n]b[n-1]…b[0]。则组合数C(A,B)与C(a[n],b[n])C(a[n-1],b[n-1])…*C(a[0],b[0]) modp同余,也就是说:L...
2019-08-10 21:27:51
189
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅