• 2024-11-11[CodeForces] CF1978 题解
    A.AliceandBooksLink-CFLink-Luogu【题目大意】\(n\)本书,编号为\(1\)到\(n\),价值为\(a_1\)到\(a_n\)。将这些书分成两堆,你获得每堆编号最大的书的价值。求可以获得的最大的价值。【解题思路】无论怎样,编号为\(n\)的书不管在那一堆都是编号最大的,所以一定会有它
  • 2024-11-09P4156 论战捆竹竿 题解
    论战捆竹竿题意:给定字符串\(s\),计数"串\(t\)的长度"可能的种数有多少种,使得\(t\)能被\(s\)作为印章印出来,且\(|t|\lew\)。\(n=|s|\le5\times10^5\),\(n\lew\le10^{18}\)。第一步:求出\(s\)的周期\(\{a_1\sima_m\}\),包含\(n\)(\(a_m=n\))。转化为求\(\suma_ib
  • 2024-11-07B2032 等差数列末项计算
    题目描述等差数列是一个很有趣的数列,它的任何相邻两项的差相等。现在给出一个等差数列的前两项 a_1,a_2a1​,a2​ 的值,求第 nn 项是多少。输入格式一行,包含三个整数 a_1,a_2,na1​,a2​,n(-100\lea_1,a_2\le100−100≤a1​,a2​≤100,0<n\le10000<n≤1000。)输出
  • 2024-10-29差分与等差数列问题
    利用差分的思想解决多次对数组区间加相同数,或者加一个等差数列最好思路:从目标数列往前推两次前缀和,反推差分数组应该怎么加  #include<bits/stdc++.h>#defineintlonglongusingnamespacestd;intn,m,l,r,s,e,d,maxv,ans;inta[10000005],sum[10000005];sig
  • 2024-10-22border 性质梳理
    建议看到结论之后直接画图自己推目前定义\(s[l,r]\)为字符串\(s\)的\([l,r]\),定义\(nxt_i\)为KMP算法所得。定义:\(s[1,i]=s[n-i+1,n]\),则称\(s[1,i]\)是\(s\)的一个border可能证明会比较浅显,但仅供笔者理解。nxt树定义:连边\(nxt_i\toi\)的一棵树。周期性
  • 2024-10-21AtCoder Beginner Contest 369 - VP记录
    A-369样例已经包括了所有的情况(真良心)。点击查看代码#include<cstdio>#include<algorithm>usingnamespacestd;intmain(){ inta,b;scanf("%d%d",&a,&b); intans=0; if(a>b)swap(a,b); if(a==b)ans=1; elseif((b-a)&1)ans=2; else
  • 2024-10-17(算法)等差数列划分————<动态规划>
    1.题⽬链接:413.等差数列划分2.题⽬描述:3.解法(动态规划):算法思路:1.状态表⽰:由于我们的研究对象是「⼀段连续的区间」,如果我们状态表⽰定义成[0,i]区间内⼀共有多少等差数列,那么我们在分析dp[i]的状态转移时,会⽆从下⼿,因为我们不清楚前⾯那么多的「等差数列都在什
  • 2024-09-24一维差分和等差数列差分
    一维差分不支持边操作边查询对于数组a,定义其差分数组(differencearray)为i=0时,d[i]=a[0];i>0时,d[i]=a[i]-a[i-1];性质1:从左到右累加d中的元素,可以得到数组a。性质2:如下两个操作是等价的。区间操作:把a的子数组a[i,j]都加上x。单点操作:把d[i
  • 2024-09-23浅谈一类高斯求和问题
    相信大家都知道高斯算法:首项加末项的和乘项数除以二等于等差数列的和。实际应用中往往不会这么简单。一般需要根据等差数列的和,反过来求出等差数列的其它信息,此时对于边界的处理就很重要。P1014「NOIP1999PJ」Cantor表可以\(O(N)\)模拟,但太慢了。先来看分子:\(1,1,2,3,2,1,
  • 2024-09-199.19
    abc371F:两种做法。等差数列线段树和ODT。两种做法实现难度相同,不过后者似乎要快很多。花1个小时复习了ODT怎么打,他复杂度正确的原因是因为每次query(l,r)过后马上进行了assign。然后就是基础的split和getpos操作,记得给边界插入set。线段树也是维护三元组【l,r,
  • 2024-09-08题解:AT_abc369_c [ABC369C] Count Arithmetic Subarrays
    很水的一道题,但是硬控我半个小时呜呜呜。它问等差数列的数量,我们发现只要找到所有的等差数列,那么答案一定包含在这些数列的连续子序列中。求所有等差数列显然可以线性,我们求出每个等差数列的长度\(n\),那么连续子序列个数即为\(n(n+1)\over2\)。至于求的话我定义了两个指针,每
  • 2024-09-022024.9.2 Python,用栈写每日温度,等差数列划分,子串所有可能性,等差数列划分,深度优先搜索解决累加数
    1.每日温度给定一个整数数组temperatures,表示每天的温度,返回一个数组answer,其中answer[i]是指对于第i天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用0来代替。示例1:输入:temperatures=[73,74,75,71,69,72,76,73]输出:[1,1,4,2,
  • 2024-09-01AtCoder Beginner Contest 369 补题记录
    A-369题意:给定A和B,求有多少个x可以和A,B构成等差数列思路:分三种情况讨论A==B则x不得不与A和B想等x位于A和B中间只有B-A为偶数才有这种情况存在x位于A和B两边可以在左边也可以在右边,只要A!=B这种情况总会存在voidsolve(){inta=read(),b=read();
  • 2024-09-01abc369 题解
    切了A~F,还挺开心(但是如果上一次把G切了的话,我就上青了QAQ比赛链接:https://atcoder.jp/contests/abc369A-369题意:给定正整数\(a,b\)(\(1\lea,b\le100\)),请问有多少个整数\(x\)满足\(a,b,x\)排序后构成等差数列。思路:观察到\(a,b\)范围很小,直接枚举\(x\)即可。
  • 2024-08-21突发奇想
    对于一个可重集\(S\),称它为“等差集合”当且仅当其中元素从小到大排列后构成等差数列。定义\(S\)的“优美度”为其子集中最大的“等差集合”的大小。现在有四个数\(a,b,c,d\)在\(\{x\in\N^{\ast}\midx\le10\}\)中等概率取值,求可重集\(\{a,b,c,d\}\)的“优美度”的期望
  • 2024-08-15等差数列平方和公式
    因为想把P3792哈希做法贺到P5278去,但是不知道等差数列平方和怎么求啊!所以就有了这篇记录。搜到的要么是错的要么看不懂,只能自己推一个看看了~设\(a\)为数列首项,\(d\)为公差,\(n\)为项数则原数列可表示为\(a^2+(a+d)^2+(a+2d)^2+...+(a+(n-1)d)^2\)拆项得\(a^2+
  • 2024-08-02[20240802]NOIP比赛总结
    比赛链接比昨天好多了,谢天谢地。好消息:明天放假。坏消息:后天开学。好消息:没暑假作业。坏消息:拉了一堆课。赛时先写了T1暴力,然后一眼觉得正解是二进制位运算,所以先跑了。T2题目给出了正解,照着打,过了50pts,然后简单一想,过掉了。T3写了暴力,先跑。T4写了暴力,然后开始推性质
  • 2024-06-23力扣-1630. 等差子数组
    1.题目介绍题目地址(1630.等差子数组-力扣(LeetCode))https://leetcode.cn/problems/arithmetic-subarrays/题目描述如果一个数列由至少两个元素组成,且每两个连续元素之间的差值都相同,那么这个序列就是等差数列。更正式地,数列s是等差数列,只需要满足:对于每个有效的i,s[i
  • 2024-06-20三个数可分等差数列
    #include<iostream>#include<vector>usingnamespacestd;voidprintGroups(vector<int>&sequence1,vector<int>&sequence2,vector<int>&sequence3,vector<int>&sequence4){cout<<"Gro
  • 2024-04-25洛谷题单指南-动态规划2-P4933 大师
    原题链接:https://www.luogu.com.cn/problem/P4933题意解读:求有多少个子序列可以组成等差序列解题思路:1、暴力DFS如果实在想不出动规的方法,对于n<=20的数据,可以DFS枚举所有子序列的子集,再判断是否是等差数列。30分代码:#include<bits/stdc++.h>usingnamespacestd;const
  • 2024-04-20银行笔试——数量关系
    竟然还有三级等差数列这样神奇的存在 等比数列  位数这样反复横跳的可能是等比保证符号一正一扶,要是连续负或正则可能是位数问题 
  • 2024-04-08等差数列-
    importjava.util.Arrays;importjava.util.Scanner;//1:无需package//2:类名必须Main,不可修改publicclassMain{publicstaticvoidmain(String[]args){Scannerscan=newScanner(System.in);//在此输入您的代码...intN=
  • 2024-04-042024.4 做题记录
    299.CF1534ELostArray难崩。题意转化为每次翻转\(m\)个\(01\)序列的元素,要把全\(0\)翻成全\(1\)。不想分讨。考虑直接最短路求最小步数,转移就枚举选多少个原本已经有的数。交互就记录方案就行了。300.P9537[YsOI2023]CF1764B很棒的题。考察终态,可以发现最后输
  • 2024-04-01P9537 [YsOI2023] CF1764B
    洛谷传送门很棒的题。考察终态,可以发现最后输的人拥有的数的数量大概率是比赢家的数量少的。唯一的例外是等差数列,因为一个长为\(n\)的等差数列只能组成\(n-1\)个不同的差值。考虑若一开始先手就是一个公差为\(d\)的\(n+1\)项等差数列,后手是一个公差为\(d\)的\(
  • 2024-03-242024 蓝桥打卡Day18
    洛谷刷题P8682[蓝桥杯2019省B]等差数列题目[P8682[蓝桥杯2019省B]等差数列](https://www.luogu.com.cn/problem/P8682)题解P8682[蓝桥杯2019省B]等差数列题目P8682[蓝桥杯2019省B]等差数列题解importjava.util.Arrays;importjava.util.S