暑假集训CSP提高模拟17
1.Codeforces Round 955 (Div. 2)2.AtCoder Beginner Contest 3633.AtCoder Regular Contest 182(A B C)4.暑假集训CSP提高模拟15.暑假集训CSP提高模拟26.暑假集训CSP提高模拟77.暑假集训CSP提高模拟58.暑假集训 加赛19.暑假集训CSP提高模拟410.暑假集训CSP提高模拟18
11.暑假集训CSP提高模拟17
12.暑假集训CSP提高模拟 1613.暑假集训CSP提高模拟 ∫[0,6] (x^2)/6 dx14.暑假集训CSP提高模拟1115.暑假集训SCP提高模拟1016.暑假集训PVZ提高模拟917.暑假集训CSP提高模拟818.暑集假训SCP提高拟模2119.[CL-FOOL] CLOI 愚人赛的部分官方题解与小杂谈20.トヨタ自動車プログラミングコンテスト2024#7(ABC 362)21.寒假集训测试2 题目转存22.HEOI2024 题目转存23.高一小学期224.张江蔡25.高一高考集训总结赛26.高一下二调题目转存27.CSP提高组模拟128.Atcoder Beginner Contest 36729.[R18][中国語翻訳]HDKのABC370赛試(ABC370)30.[30] CSP 加赛 131.[33](CSP 集训)CSP-S 模拟 432.[34](CSP 集训)CSP-S 联训模拟 133.[35] (CSP 集训) CSP-S 模拟 534.[36](CSP 集训)CSP-S 模拟 635.AtCoder Beginner Contest 37336.[37](CSP 集训)CSP-S 模拟 737.[39] (多校联训) A层冲刺NOIP2024模拟赛0138.[40](CSP 集训)CSP 联训模拟 239.[42] (多校联训) A层冲刺NOIP2024模拟赛0340.[41] (CSP 集训) CSP-S 模拟 941.[44] (多校联训) A层冲刺NOIP2024模拟赛0442.[45] (多校联训) A层冲刺NOIP2024模拟赛0543.[46] (多校联训) A层冲刺NOIP2024模拟赛0644.パナソニックグループ プログラミングコンテスト2024(ABC 375)45.[47] (CSP 集训) CSP-S 模拟 1146.[49 & 50] (多校联训) A层冲刺NOIP2024模拟赛08 | CSP-S 模拟 1247.[51] (多校联训) A层冲刺NOIP2024模拟赛0948.Atcoder Beginner Contest 37649.Codeforces Round 980 (Div. 2)50.[54] (多校联训) A层冲刺NOIP2024模拟赛1251.[57] (多校联训) A层冲刺NOIP2024模拟赛1552.[61] (多校联训) A层冲刺NOIP2024模拟赛1853.[62] (NOIP 集训) NOIP2024加赛 254.[63] (多校联训) A层冲刺NOIP2024模拟赛1955.[68] (炼石计划) NOIP 模拟赛 #2056.[68] (NOIP集训) NOIP2024 加赛 557.[72] (多校联训) A层冲刺NOIP2024模拟赛2558.[73] (NOIP集训) NOIP2024 加赛 759.[75] (NOIP集训) NOIP2024 加赛 8A.符号化方法初探
当序列全为正数时,构造方法是显然的:从左到右依次将每一个数加上前一个数,这样总是可以保证每一个数比上一个数大. 操作次数严格
当序列全为负数时同理,只不过对负数的加法相当于减法. 因此我们考虑从后向前依次将每一个数加上后一个数,这样总是可以保证每一个数比下一个数小. 操作次数也为严格
考虑到先找出一个绝对值最大的数,然后将序列里其他所有的数都加上该数. 假设此数是正的,则操作后数列中全为正数(若存在一个
#include<bits/stdc++.h>
//#include"test.h"
#define int long long
using namespace std;
int n,a[200001];
vector<pair<int,int>>cz;
signed main(){
// freopen("test.in","r",stdin);
// freopen("test.out","w",stdout);
scanf("%lld",&n);int maxn=0;int maxid=1;
for(int i=1;i<=n;++i){
scanf("%lld",&a[i]);
if(abs(a[i])>abs(maxn)){
maxn=a[i];
maxid=i;
}
}
for(int i=1;i<=n;++i){
if(i!=maxid){
cz.push_back({maxid,i});
a[i]+=maxn;
}
}
if(maxn>0){
for(int i=1;i<=n-1;++i){
cz.push_back({i,i+1});
}
}
else{
for(int i=n;i>=2;--i){
cz.push_back({i,i-1});
}
}
cout<<cz.size()<<endl;
for(auto i:cz){
cout<<i.first<<" "<<i.second<<endl;
}
// freopen("CON","w",stdout);
// checker("test.in","test.out");
}
放一份 test.h
#include<bits/stdc++.h>
using namespace std;
long long aaa[1000001];
int checker(char*in,char*out){
ifstream f1,f2;
f1.open(out);
f2.open(in);
int n,m;f2>>n;
for(int i=1;i<=n;++i){
f2>>aaa[i];
}
f1>>m;
for(int i=1;i<=m;++i){
int x,y;
f1>>x>>y;
aaa[y]+=aaa[x];
}
bool ac=true;
for(int i=2;i<=n;++i){
if(aaa[i]<aaa[i-1]){
ac=false;
cout<<"Wrong Answer On Place: "<<i-1<<","<<i<<endl;
}
}
if(m>2*n){
ac=false;
cout<<"Too much operations:"<<m<<"(max is"<<2*n<<")"<<endl;
}
if(ac) cout<<"Accepted"<<endl;
return ac;
}
B.无标号 Sequence 构造
考虑到
可以想到:矩阵乘法虽然没有
再想到,假如
实际上,出错的概率为
还有一种做法,即先乘一个
我这一份洛谷过了,在题库上过不去,懒得调了.
#include<bits/stdc++.h>
using namespace std;
namespace hdk{
namespace fastio{
inline long long read(){long long x=0,f=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-'){f=-1;}ch=getchar();}while(ch>='0'&&ch<='9'){x=(x<<1)+(x<<3)+(ch^48);ch=getchar();}return x*f;}
template<typename T>
inline T read(T &A){A=read();return A;}
#define ws(a) write(a);space()
}
}
using namespace hdk::fastio;
/* _MATRIX_H_ */
const int mod=998244353;
template<typename T,int maxlen>
class matrix{
private:
int n,m;
bool ifmod;
T mat[maxlen+5][maxlen+5];
public:
inline T* operator[](int x){
return mat[x];
}
inline void clear(){
for(register int i=1;i<=n;++i){
for(register int j=1;j<=m;++j){
mat[i][j]&=0;
}
}
n=0;
m=0;
ifmod=false;
}
inline void setmod(int x){
if(x==0){
ifmod=false;
}
else{
ifmod=true;
}
}
inline void resize(int nsize,int msize){
n=nsize;
m=msize;
}
inline void fill(int x){
for(register int i=1;i<=n;++i){
for(register int j=1;j<=m;++j){
mat[i][j]=x;
}
}
}
inline void fill(std::vector<std::vector<T>> x){
for(register int i=0;i<=(int)x.size()-1;++i){
for(register int j=0;j<=(int)x[i].size()-1;++j){
mat[i+1][j+1]=x[i][j];
}
}
}
inline void packed_clear(std::vector<std::vector<T>> x,int mod=0){
resize(x.size(),x.front().size());
fill(x);
setmod(mod);
}
inline void packed_clear(int nsize,int msize,int filln=0,int mod=0){
clear();
resize(nsize,msize);
setmod(mod);
fill(filln);
}
inline void input(int nsize,int msize){
n=nsize;
m=msize;
for(register int i=1;i<=n;++i){
for(register int j=1;j<=m;++j){
read(mat[i][j]);
}
}
}
inline matrix operator *(const matrix &A)const{
matrix p;
p.packed_clear(n,A.m,0,mod);
for(register int i=1;i<=n;++i){
for(register int j=1;j<=A.m;++j){
for(register int k=1;k<=m;++k){
p.mat[i][j]+=(1ll*mat[i][k]*A.mat[k][j])%mod;
p.mat[i][j]%=mod;
}
}
}
return p;
}
inline bool operator ==(matrix<T,maxlen>A){
for(register int i=1;i<=n;++i){
for(register int j=1;j<=m;++j){
if(mat[i][j]!=A[i][j]) return false;
}
}
return true;
}
};
/*--NAMESPACE HDK::MATRIX MATRIX_H_--*/
matrix<int,3000> a,b,c,h,l;
int main(){
srand(time(0));
int cases;read(cases);while(cases--){
int n;read(n);
h.resize(1,n);
l.resize(n,1);
for(int i=1;i<=n;++i){
h[1][i]=rand();
l[i][1]=rand();
}
a.input(n,n);b.input(n,n);c.input(n,n);
if(h*a*b*l==h*c*l) printf("Yes\n");
else printf("No\n");
// a.clear();b.clear();c.clear();
}
}
D.有限制的构造
能想到这题是个背包,但是直接跑复杂度
这个时候使用经典套路,互换值与值域,定义
初始化
#include<bits/stdc++.h>
using namespace std;
int n,x,y,td[81],xd[81],f[81][81][10001];
int main(){
scanf("%d %d %d",&n,&x,&y);
for(int i=1;i<=n;++i){
scanf("%d %d",&td[i],&xd[i]);
}
memset(f,0x3f,sizeof f);
for(int i=0;i<=n;++i){
f[i][0][0]=0;
}
for(int i=1;i<=n;++i){
for(int j=1;j<=i;++j){
for(int k=0;k<=x;++k){
f[i][j][k]=f[i-1][j][k];
if(k>=td[i]){
f[i][j][k]=min(f[i][j][k],f[i-1][j-1][k-td[i]]+xd[i]);
}
}
}
}
for(int i=n;i>=0;--i){
// cout<<i<<": ";
for(int j=0;j<=x;++j){
// cout<<f[n][i][j]<<" ";
if(f[n][i][j]<=y){
cout<<min(i+1,n)<<endl;
return 0;
}
}
// cout<<endl;
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!