随笔分类 - 算法&思想——前缀和&差分
摘要:题意 T 组数据,每组数据给一个长度 N 的序列,要求一段连续的子序列的和大于 S,问子序列最小长度为多少。 输入样例 输出样例 解析 我们很容易发现对于这题我们可以二分答案,先找出一个初始长度,判断是否存在合法序列,如果存在缩小长度,如果不存在加长长度。 时间复杂度 $ O
阅读全文
摘要:背景 其实 Kano 曾经到过由乃⼭,当然这名字⼀看⼭主就是 Yuno 嘛。当年 Kano 看见了由乃⼭,内⼼突然涌出了⼀股杜甫会当凌绝顶,⼀览众⼭⼩的 豪⽓,于是毅然决定登⼭。但是 Kano 总是习惯性乱丢垃圾,增重环卫⼯⼈ 的负担,Yuno 并不想让 Kano 登⼭,于是她果断在⼭上设置了结界…
阅读全文
摘要:一道sb题目,注意范围,可打表解决,打出杨辉三角,在用前缀和求解即可 代码(一维前缀和) cpp include using namespace std; int n,m,t,k,ans,a[2010][2010],b[2010][2010]; int main(){ scanf("%d %d",&
阅读全文
摘要:题意 在一个凹槽中放置了N层砖块,最上面的一层油N块砖,从上到下每层一次减少一块砖。每块砖都有一个分值,敲掉这块砖就能得到相应的分值,如图所示。 如果你想敲掉第i层的第j块砖的话,若i=1,你可以直接敲掉它;若i 1,则你必须先敲掉第i 1层的第j和第j+1块砖。 你现在可以敲掉最多M块砖,求得分最
阅读全文
摘要:树状数组 1 单点修改,区间查询 这个没啥好讲的,修改加查询即可,查询时利用前缀和相减即可。 代码 cpp include using namespace std; const int maxn=1000010; int n,q,u,v,k,a[maxn]; long long c[maxn]; i
阅读全文
摘要:一道水题,由于x坐标递增y坐标也递增于是前缀和统计即可,用树状数组实现。 cpp include using namespace std; const int maxn=15010; const int maxx=32010; inline long long read(){ long long x
阅读全文
摘要:"题面" 题目保证有解即纸牌总数能被人数整除(N|T)每个人持有纸牌a[1]...a[m],我们可以先考虑第一个人 1.若a[1] T/M,则第一个人需要给第二个人c[1] T/M张纸牌,即把c[2]加上c[1] T/M。 2.若a[1] using namespace std; int m,a[1
阅读全文
摘要:题面 TYVJ七夕祭和11区的夏祭的形式很像。矩形的祭典会场由N排M列共计N×M个摊点组成。虽然摊点种类繁多,不过cl只对其中的一部分摊点感兴趣,比如章鱼烧、苹果糖、棉花糖、射的屋……什么的。Vani预先联系了七夕祭的负责人zhq,希望能够通过恰当地布置会场,使得各行中cl感兴趣的摊点数一样多,并且
阅读全文