- 2024-08-14根据网络连接(文件链接)下载文件到本地
1publicvoidDownloadFile(stringURL,stringfilename)2{3HttpWebRequestreq=null;4HttpWebResponserep=null;5Streamst=null;6Streamso=null;7try8{9req=(HttpWebRequest)Web
- 2024-08-11算法学习:矩阵快速幂/矩阵加速
1.前言 其实本质上来说,矩阵快速幂或是矩阵加速的题目比较的模板化一些,大体上都是属于我们要先写出来一个递推式子(或者是我们需要递推的式子),然后由于递推的次数过大,1e18之类的,会导致复杂度的飚升,所以我们会用到矩阵来帮我们快速处理。 另外,从题目的类型上大概是分为两类,一类是
- 2024-08-09P3985 不开心的金明
题目看起来很像01背包,也就是dp【i】【j】表示前i个物品,花费为j,最多价值为dp【i】【j】注意到题中给的数据范围,如果用常规01背包状态转移,有下面的问题:v很大,花费很大,也就是说没法开这么大的二维数组,但是我们注意到这意味着我们可以让所有的价格都减去最小的价格,这样价格的范围
- 2024-08-08学习笔记 整体二分
整体二分是一种离线算法记[l,r]为答案的值域,[L,R]为答案的定义域。(也就是说求答案时仅考虑下标在区间[L,R]内的操作和询问,这其中询问的答案在[l,r]内)我们首先把所有操作按时间顺序存入数组中,然后开始分治。在每一层分治中,利用数据结构(常见的是树状数组)统计当前查询的
- 2024-08-072024杭电多校6-11
CODE:1#include<bits/stdc++.h>2#definerep(i,a,b)for(inti=a;i<=b;i++)3#definedwn(i,a,b)for(inti=a;i>=b;i--)4#defineMAXN1025015#defineinf999999996usingnamespacestd;7typedeflonglongll;8inlinein
- 2024-08-04ABC365
A.LeapYear模拟代码实现importcalendary=int(input())ifcalendar.isleap(y):print(366)else:print(365)B.SecondBest模拟代码实现n=int(input())a=list(map(int,input().split()))print(a.index(sorted(a)[-2])+1)C.TransportationEx
- 2024-08-01CF1997F Chips on a Line 题解
注意到操作是可逆的,可以先把所有筹码移动到位置\(1\),再进行若干次操作使筹码数量最小化。那么我们只需要对每一个\(i\)知道有多少种情况把筹码全移动到位置\(1\)后恰好有\(i\)个筹码,和这类情况的最少筹码数。记\(f_i\)表示斐波那契数列的第\(i\)项,显然一个位置\(i\)
- 2024-07-31KLC 数点学习笔记
KLC数点由KLC大神在模拟赛中发明。其算法复杂度与答案值域大小挂钩。其能解决的问题一般有着如下的特点:给定一个序列,每次询问一个区间有多少个子区间满足什么性质,数据随机生成。其算法流程为:通过某种方法预处理出所有满足性质的子区间将得到的区间表示在二维平面上
- 2024-07-31CF1499E Chaotic Merge
对于\(l_1=1,r_1=1\)的情况,设\(f_{i,j,0/1,S}\)表示\(\texttt{x}\)串考虑了前\(i\)个位置,\(\texttt{y}\)串考虑了前\(j\)个位置,且最后一个位置选了\(\texttt{x}\)串还是\(\texttt{y}\)串,选的串的集合为\(S\)的方案数。转移显然。答案为\(\sum_{i=1}^n\sum_{j=1
- 2024-07-262024牛客多校Bit Common & Bit More Common
ABitCommon时间限制:3s(C++/C)/6s内存限制:1048576K(C++/C)/2097152K题目描述Giventwointegers\(n\)and\(m\),amongallthesequencescontaining\(n\)non-negativeintegerslessthan\(2^m\),youneedtocountthenumberofsuchsequences\(A\)tha
- 2024-07-20CF-959(C-E)
CF-959Problem-C-Codeforcesdp+双指针分析要找到满足顺序执行操作后g值大于零的区间数。我们以以i为左端点考虑,对于和小于x的区间[i,j],对答案的贡献就是区间长度j-i,而对于第一个和大于x的区间[i,j],对答案贡献则是以j+1为左端点时的合法区间的数量操作对于每个端点i,我
- 2024-07-207/20 训练笔记
闲话调试约一个下午后发现极大值设小了。CardboardBox考虑开两个堆\(q_1\)和\(a_2\),一个存入所有一颗星星的取法,另一个存入所有两颗星星的取法。每次两颗两颗比较,然后如果某一次取了一颗星星,那么(设这颗星星对应关卡编号为\(i\))把\(b_i-a_i\)压入堆中。还有一些别的
- 2024-07-167/16 训练笔记
闲话插,就硬插,插完就过了(P4781【模板】拉格朗日插值模板题,写拉格朗日插值即可。代码:#include<bits/stdc++.h>#defineintlonglong#definerep(i,l,r)for(inti=l;i<=r;i++)usingnamespacestd;constintmod=998244353;intx[2010],y[2010],n,k;int
- 2024-07-14AT_arc166_d [ARC166D] Interval Counts
我们可以将题转化为选择若干区间,给区间中的每个\(y_i\)减一,这样我们就可以将问题转化为差分了。我们枚举区间的左端点,从左到右枚举,当我们枚举到\(i\)时,显然如果当前差分数组\(d_i>0\),那么我们需要将其减去\(d_i\),这样我们获得了一个向后加总共\(d_i\)个\(1\)的机会,此时
- 2024-07-14CF1263F Economic Difficulties
我是网络流锰锌,这道题折磨了我很久。我们发现这里面每条边可选可不选,并且都有一定的限制条件,于是我们的思路可以往网络流方面靠拢。那么题目要求最大化,我们发现用最大流并不好做,于是考虑转化为最小割。其中要割的边就是我们要选的边数。根据套路很自然的我们先考虑将\(S\)向每
- 2024-07-14CF1107F Vasya and Endless Credits
KM做法这么简单好想为什么都在dp?我第一次过也是用的dp。建模非常好想,每天只能收一次钱,最简单的思路是我们枚举第几天开车跑路,但是再一想我们不关心是第几天,只关心每次贷款离开车跑路还差几天,于是我们从\(i\)向\(j\)连边,边权是\(a_i+b_i\times\min(k_i,j)\),意义为第\(i\)
- 2024-07-137/13 训练笔记
闲话回滚莫队板题被卡到28pts了歴史の研究回滚莫队题。莫队笔记考虑很好加(维护cnt并更新答案即可),但是不好删。那么回滚莫队代码:#include<bits/stdc++.h>#defineintlonglong#definerep(i,l,r)for(inti=l;i<=r;i++)#defineper(i,l,r)for(inti=
- 2024-07-127/12 训练笔记
闲话打OIBingo然后大力卡时卡空间,贺了最优解之后成功Bingo.rep(i,0,(int)v.size()-1)v.push_back(1);在vectorv本来就有内容的情况下会持续循环。rep(i,1,n)rep(i,1,n)cin>>a[i];似乎会出问题。P4137RmqProblem/mex回滚莫队题,莫队笔记。考虑mex
- 2024-07-11HAL库源码移植与使用之高级定时器REP寄存器
高级定时器的溢出中断信号与更新要想输出,要经过一个重复计数寄存器,该寄存器由REP控制并由TIMX_RCR控制计数值它的原理是计数器每次上溢或下溢而输出中断信号和更新都能使重复计数器值减1,减到0时,再发生一次溢出就会产生更新事件所以如果设置RCR为N,更新事件将在N+1次溢出时发
- 2024-07-0907_08_暑期个人赛4
E2.StringColoring(hardversion)时间:2024-07-09原题:CodeforcesRound617(Div.3)E2.StringColoring(hardversion)题意给一串小写字母组成的字符串,要求上色,只有颜色不同的相邻字母能换位置不考虑交换次数,问最少涂几种颜色才能使最后的序列有序思路假定当前遇到的
- 2024-07-08CF-956(A-D)
CF-956(A-D)期末以来第一场CF(っ°Д°;)っProblem-A-Codeforces1~n的升序排列就满足条件voidsolve(){ intn;cin>>n; rep(i,1,n)cout<<i<<""; cout<<endl;}Problem-B-Codeforces两种操作:+1+2 +2+1+2+1 +1+2在模3的情况下显然都一定不会改变每
- 2024-07-08对拍器模板记录
#include<iostream>#include<string>#include<vector>#include<algorithm>#include<cmath>#include<cstring>#include<fstream>#include<iomanip>#include<climits>#include<queue>#include<unorde
- 2024-07-06ABC361
A.Insert模拟代码实现n,k,x=map(int,input().split())a=list(map(int,input().split()))a.insert(k,x)print(*a)B.IntersectionofCuboids模拟代码实现#include<bits/stdc++.h>#definerep(i,n)for(inti=0;i<(n);++i)usingnamespacest
- 2024-07-01【pytest】失败用例,桌面截图
@pytest.hookimpl(tryfirst=True,hookwrapper=True)defpytest_runtest_makereport(item,call):#executeallotherhookstoobtainthereportobjectoutcome=yieldrep=outcome.get_result()#rep可以拿到用例的执行结果详情ifrep.when=="ca
- 2024-06-22UNIQUE VISION Programming Contest 2024 Summer (AtCoder Beginner Contest 359) 题解
点我看题A-CountTakahashi没啥好说的点击查看代码#include<bits/stdc++.h>#definerep(i,n)for(inti=0;i<n;++i)#definerepn(i,n)for(inti=1;i<=n;++i)#defineLLlonglong#definefifirst#definesesecond#definepbpush_back#definemprmake_pair