其实可能并不是真正的退役
中考之后大概还会回来的
day 0
上学校里的网课,上完后没去写作业而是来学oi,而是在luogu上把提高组的课调出来看
后来发现好像并无什么卵用
day 1
duliu
T1
想推柿子,结果没推出啥,倒是费了大把时间,最终还是来骗分了。。。
好像还不如不推,直接骗分
#include<cstdio>
#include<cstdlib>
#include<iostream>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
#define ll long long
int read()
{
int w=1,num=0;
char c=getchar();
while(c<'0' || c>'9'){if(c=='-')w=-1;c=getchar();}
while(c>='0' && c<='9'){num=(num<<1)+(num<<3)+c-'0';c=getchar();}
return w*num;
}
//int gcd(int x,int y)
//{
// return y==0?x:gcd(y,x%y);
//}
//int phi(int x)
//{
// int ans=x;
// for(int i=2;i*i<=x;i++){
// if(!(x%i)){
// while(!(x%i)){
// x/=i;
// }
// ans=ans/i*(i-1);
// }
// }
// if(x>1)ans=ans/x*(x-1);
// return ans;
//}
//两个函数写一写,也不知道对不对,反正注掉了qwq
ll p1,p2,t,k;
int main()
{
freopen("color.in","r",stdin);
freopen("color.out","w",stdout);
t=read();
while(t--){
scanf("%d%d%d",&p1,&p2,&k);
if(k==1){printf("NO\n");continue;}
if(k==2)if(p1==1 && p2==1){printf("YES\n");continue;}
if(p1==1){
if(p2<=k)printf("YES\n");
else printf("NO\n");
continue;
}
if(p2==1){
if(p1<=k)printf("YES\n");
else printf("NO\n");
continue;
}
// int pa=phi(p1)-1,pb=phi(p2)-1;
// printf("NO");
if(p1>p2*k || p2>p1*k)printf("NO\n");
else printf("YES\n");
}
return 0;
}
T2
瞎写线段树
水过样例
#include<cstdio>
#include<cstdlib>
#include<iostream>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
#define ll long long
#define N 10005
#define P (k<<1)
#define S P|1
#define M (l+r>>1)
#define len (r-l+1)
int read()
{
int w=1,num=0;
char c=getchar();
while(c<'0' || c>'9'){if(c=='-')w=-1;c=getchar();}
while(c>='0' && c<='9'){num=(num<<1)+(num<<3)+c-'0';c=getchar();}
return w*num;
}
struct seg{
// int c[N],sum;
int num[10005],cnt;
}tree[N<<2];
int n,a[N],m,b[N];
void push_up(int k)
{
for(int i=1;tree[P].num[i] || tree[S].num[i];i++){
if(tree[P].num[i]){tree[k].num[++tree[k].cnt]=tree[P].num[i];}
if(tree[S].num[i]){tree[k].num[++tree[k].cnt]=tree[S].num[i];}
}
}
void build(int l,int r,int k)
{
if(l==r){
// tree[k].c[a[l]]=1;
tree[k].num[++tree[k].cnt]=a[l];
return;
}
build(l,M,P);
build(M+1,r,S);
push_up(k);
}
bool bk[N];
int sum;
const int p=1e9+7;
void query(int l,int r,int k,int i,int j)
{
if(l>=i && r<=j){
for(int t=1;tree[k].num[t];t++){
if(!bk[tree[k].num[t]]){
bk[tree[k].num[t]]=1;
sum++;
}
}
return;
}
if(M>=i)query(l,M,P,i,j);
if(M+1<=j)query(M+1,r,S,i,j);
return;
}
ll ans;
int main()
{
freopen("sequence.in","r",stdin);
freopen("sequence.out","w",stdout);
n=read();
for(int i=1;i<=n;i++)
b[i]=a[i]=read();
sort(b+1,b+n+1);
m=unique(b+1,b+n+1)-b;
for(int i=1;i<=n;i++)
a[i]=lower_bound(b+1,b+n+1,a[i])-b;
build(1,n,1);
for(int i=1;i<=n;i++){
for(int j=i;j<=n;j++){
query(1,n,1,i,j);
ll t=sum;
t=t*t%p;
ans+=t;
ans%=p;
memset(bk,0,4*(m+1));
sum=0;
}
}
printf("%d",ans);
return 0;
}
由于开不成太大数组编译也得有空间问题?不太清楚这题也拿不成所有分
之后在luogu上测试了下,50分,其它RE
T3
也不知道交上去没有
其实也是骗来着
#include<cstdio>
#include<cstdlib>
#include<iostream>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
#define ll long long
#define N 5005
int read()
{
int w=1,num=0;
char c=getchar();
while(c<'0' || c>'9'){if(c=='-')w=-1;c=getchar();}
while(c>='0' && c<='9'){num=(num<<1)+(num<<3)+c-'0';c=getchar();}
return w*num;
}
struct edge{
int to,nxt;
}e[N-1];
int head[N],cnt,n;
void insert(int u,int v)
{
e[++cnt].to=v;
e[cnt].nxt=head[u];
head[u]=cnt;
}
const int p= 998244353;
//int dfn[N];
int nd[N];
int siz0[N],siz1[N];
int cntt;
int z;
void dfs(int u,int pa)
{
// dfn[u]=++cntt;
for(int i=head[u];i;i=e[i].nxt){
int v=e[i].to;
if(v==pa)continue;
dfs(v,u);
siz0[u]+=siz0[v]+(nd[v]==0);
siz1[u]+=siz1[v]+(nd[v]==1);
}
if(nd[u])
z+=siz0[u];
else
z+=siz1[u];
}
int x,y;
void exgcd(int a,int b)
{
if(b==0){
x=1;
return;
}
exgcd(b,a%b);
x=y;
y=x-a/b*y;
}
int main()
{
freopen("match.in","r",stdin);
freopen("match.out","w",stdout);
n=read();
char c=getchar();
while(c<'0' || c>'9')c=getchar();
int i=1;
while(c>='0' && c<='9'){
nd[i]=c-'0';
c=getchar();
}
for(int i=1;i<=n;i++){
int u=read(),v=read();
insert(u,v);
}
dfs(1,1);
printf("0 ");
int f;exgcd(n*n,p);f=x;
for(int i=1;i<=n/2;i++){
printf("%d ",z*f%p);
}
return 0;
}
预期得分:0+50+0=50
又进不成前25%了……
day ?
艹
15分……
全第一题得的分
这次应该是要真退役了
滚回去学文化课了
QAQ
希望自己能进入理想的高中读书