TJUACM假期集训个人赛(八)(cf789a-c cf791a-c)

news/2024/11/19 6:35:26/

这场打一半回宿舍有点事润了,态度不端正,下次改正

A. Anastasia and pebbles

题面
签到题,枚举每类石头即可, w a wa wa了一次因为判断错了,分两天取是 > k >k >k,不是 ≥ k \ge k k

#include<bits/stdc++.h>
#define N 200020
#define reg register
using namespace std;
typedef long long ll;
inline void read(int &x){int s=0,w=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}while(ch>='0'&&ch<='9'){s=(s<<3)+(s<<1)+(ch&15);ch=getchar();}x=s*w;
}
int n,k,a[N],ans,now;
int main(){read(n),read(k);for(int i=1;i<=n;i++)read(a[i]);sort(a+1,a+1+n);for(int i=1;i<=n;i++){if(now==1)ans++,a[i]-=k,now=0;if(a[i]>=2*k)ans+=a[i]/(2*k),a[i]%=(2*k);if(a[i]>k)ans++,a[i]=0;if(a[i]>0)now++;}if(now)ans++;cout<<ans<<endl;}

B. Masha and geometric depression

题面
a a a数组放进 s e t set set,循环枚举 b b b数组即可。判断是否无法找到直接利用循环次数即可,循环次数不会很大,因此判断循环次数即可。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll b1,q,l,m,ans,cnt;
set <ll> a;
inline void read(ll &x){ll s=0,w=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}while(ch>='0'&&ch<='9'){s=(s<<3)+(s<<1)+(ch&15);ch=getchar();}x=s*w;
}
int main(){read(b1),read(q),read(l),read(m);for(int i=1;i<=m;i++){ll x;read(x);a.insert(x);}ll b2=b1;while(abs(b2)<=l){cnt++;if(a.find(b2)==a.end())ans++;b2*=q;if(cnt>=100000){if(ans!=0&&ans!=1)ans=-1;break;}}if(ans==-1)printf("inf\n");else printf("%lld\n",ans);
}

C. Functions again

题面
先预处理出差分数组的绝对值,不考虑 − 1 -1 1的幂次,因为一加一减我们设 d p [ i ] [ 0 ] dp[i][0] dp[i][0]为这一位是加法, d p [ i ] [ 1 ] dp[i][1] dp[i][1]为这一位是减法。
转移方程为 d p [ i ] [ 0 ] = m a x { d p [ i − 1 ] [ 1 ] + d [ i ] , d [ i ] } dp[i][0]=max\{dp[i-1][1]+d[i],d[i]\} dp[i][0]=max{dp[i1][1]+d[i],d[i]}
d p [ i ] [ 1 ] = m a x { d p [ i − 1 ] [ 0 ] − d [ i ] , 0 } dp[i][1]=max\{dp[i-1][0]-d[i],0\} dp[i][1]=max{dp[i1][0]d[i],0}

#include <bits/stdc++.h>
#define N 100010
using namespace std;
typedef long long ll;
inline void read(ll &x){ll s=0,w=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}while(ch>='0'&&ch<='9'){s=(s<<3)+(s<<1)+(ch&15);ch=getchar();}x=s*w;
}
ll n,a[N],d[N],dp[N][2],ans;
int main(){read(n);for(ll i=1;i<=n;i++)read(a[i]);for(ll i=1;i<=n;i++)d[i]=abs(a[i]-a[i+1]);for(ll i=1;i<=n;i++){dp[i][0]=max(dp[i-1][1]+d[i],d[i]);dp[i][1]=max(dp[i-1][0]-d[i],0LL);}for(ll i=1;i<n;i++)ans=max(ans,max(dp[i][0],dp[i][1]));cout<<ans<<endl;
}

A. Bear and Big Brother

题面
签到题

#include<bits/stdc++.h>
using namespace std;
int n,m,cnt;
int main(){cin>>n>>m;while(n<=m){n*=3,m*=2,cnt++;}cout<<cnt<<endl;
}

B. Bear and Friendship Condition

题面
利用并查集,每个并查集里的点和边应满足满射,即 m = n ( n − 1 ) / 2 m=n(n-1)/2 m=n(n1)/2,做并查集并同时记录每个连通块中边的个数

#include<bits/stdc++.h>
#define N 200020
#define reg register
using namespace std;
typedef long long ll;
inline void read(ll &x){ll s=0,w=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}while(ch>='0'&&ch<='9'){s=(s<<3)+(s<<1)+(ch&15);ch=getchar();}x=s*w;
}
ll n,m,f[N],u,v,s[N],num[N],flag;
ll find(ll u){if(u==f[u])return u;else return f[u]=find(f[u]);
}
void merge(ll x, ll y){x=find(x),y=find(y);if(x==y)return ;f[y]=x,num[x]+=num[y],num[y]=0;
}
int main(){read(n),read(m);for(ll i=1;i<=n;i++)f[i]=i,num[i]=1;for(ll i=1;i<=m;i++)read(u),read(v),merge(u,v);for(ll i=1;i<=n;i++){if(num[i]>1)flag+=num[i]*(num[i]-1)/2;}if(flag!=m)puts("No");else puts("Yes");
}

C. Bear and Different Names

题面
构造出一堆名字,每碰到一个 N o No No就把当前区间的尾元素改为和首元素相同的名字,最后输出构造的名字即可。

#include <bits/stdc++.h>
#define N 200
using namespace std;
string s[N],s1;
int n,k;
int main(){cin>>n>>k;for(int i=1;i<=n;i++)s[i]="Aa",s[i][0]+=i/26,s[i][1]+=i%26;for(int i=1;i<=n-k+1;i++) {cin>>s1;if(s1[0]=='N')s[i+k-1]=s[i];}for(int i=1;i<=n;i++)cout<<s[i]<<' ';printf("\n");
}

http://www.ppmy.cn/news/894736.html

相关文章

MySQL 事务与存储引擎

目录 一、MySQL事务的概念 二、事务的ACID特点 2.1 原子性 2.2 一致性 2.3 隔离性 2.4 持久性 2.5 事务之间的相互影响 三、Mysql及事物隔离级别 3.1 查询全局事务隔离级别 3.2 查询会话事务隔离级别 3.3 设置全局事务隔离级别 3.4 设置会话事务隔离级别 …

科幻字体_您可以免费获得40种科幻字体

font-face CSS规则使您无需依赖Google字体或任何高级选项&#xff0c;即可比以往更轻松地在您的网站上实现独特的字体。 您可能不希望在整个网站上使用自定义字体&#xff0c;但是在保持搜索引擎可读取的功能的同时&#xff0c;它们可以发挥很大的作用&#xff0c;使标题突出。…

23个适合logo设计的常用英文字体

在很多国外的品牌中我们都会发现他们的英文字体在logo的运用中&#xff0c;不仅会提升logo的品质还会让logo看起来更加美观。今天我们就来看看都有哪些常常出现在logo设计中的英文字体吧。 字体&#xff0c;与文字本身是不可分割的整体。它能在潜移默化间左右着你的阅读体验&am…

字体 跨域访问_21个访问量最大的免费字体网站

在设计行业中&#xff0c; 总是渴望获得好的字体 &#xff0c;这可能会增加设计的影响力。 作为设计师&#xff0c;我也总是在那里寻找新鲜的免费字体以添加到我的字体集中。 因此&#xff0c;我转向一些免费字体的最佳网站 。 因此&#xff0c;在这篇文章中&#xff0c;我将通…

字体设计 css_CSS3字体设计简介

字体设计 css 使用 font-face的Web字体 (Web Fonts with font-face) Since the early days of the Web, designers have been dreaming of creating sites with beautiful typography. But, as we know all too well, browsers are limited to rendering text in the fonts the…

程序员最爱字体_网页设计师最爱的十大字体

当我刚开始进行Web和图形设计时 &#xff0c;我总是想知道真正的设计师使用的字体。 因此&#xff0c;我进行了一项研究&#xff0c;以找出设计师喜欢使用的最受欢迎的字体&#xff0c;他们的最佳实践以及出于个人好奇心&#xff0c;他们的印刷需求 。 很高兴知道哪种字体适合哪…

字体设计基础理论知识

字体设计起源&#xff1a;主要分为汉字和拉丁字母体系 文字使人类和时间的产物 汉字七体&#xff1a;甲金篆隶楷草行 ①甲骨文&#xff08;商&#xff09; ②金文&#xff08;周&#xff09; ③大篆&#xff08;西周&#xff09; ④小篆&#xff08;秦&#xff09; ⑤隶书&…

全志F1C200S嵌入式驱动开发(linux移植)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 前面完成了uboot移植,下面就要进行linux移植。当然,理论上uboot只是为后续的os准备好了一个基础运行环境,实际运行的操作系统是不是选择linux,也不一定。如果为了实际生产的需要…