ARC063补题

C.
#include <bits/stdc++.h>
using namespace std;
int n,ans;
char str[100005];
int main(){
	scanf("%s",str+1);
	n=strlen(str+1);
	for (register int i=2; i<=n; ++i) if (str[i]!=str[i-1]) ans++;
	printf("%d\n",ans);
return 0;	
}
D.
找a[i]<a[j]且a[j]-a[i]最大的对数(i<j)
#include <bits/stdc++.h>
using namespace std;
const int N=1e5+5;
int n,k,h,sum;
int a[N],maxn[N];
map<int,int>mp;
int main(){
	scanf("%d%d",&n,&k);
	for (register int i=1; i<=n; ++i) scanf("%d",&a[i]);
	maxn[n]=a[n];
	for (register int i=n-1; i>=1; --i) maxn[i]=max(maxn[i+1],a[i]);
	for (register int i=1; i<n; ++i) h=max(h,maxn[i]-a[i]);
	if (!h) 
	{
		puts("0");
		return 0;
	}
	for (register int i=n; i>=1; --i)
	{
		mp[a[i]]=1;
		if (mp[a[i]+h]) sum++;
	}
	printf("%d\n",sum);
return 0;	
}
E.
每次找到已知的点权最大的点,然后将它周围没有点权的点的点权均赋值为它的点权-1。
若周围某点已有点权,但点权差不为1,则无解。
每次找已知点权最小点,也是可以的。
#include <bits/stdc++.h>
using namespace std;
const int N=1e5+5;
int n,u,v,x,k;
int a[N];
bool vis[N];
int cnt,head[N];
struct edge{int next,to;}e[N<<1];

struct node
{
	int id,v;
	inline bool operator < (const node &x) const
	{
		return x.v<v; 
	}
};

inline void add(int u,int v)
{
	cnt++;
	e[cnt].next=head[u];
	e[cnt].to=v;
	head[u]=cnt;
}

priority_queue<node>q;

int main(){
	scanf("%d",&n);
	for (register int i=1; i<n; ++i) scanf("%d%d",&u,&v),add(u,v),add(v,u);
	scanf("%d",&k);
	while (k--) 
	{
		scanf("%d%d",&u,&x);
		a[u]=x; vis[u]=true;
		q.push((node){u,x});
	}
	bool jay=true;
	while (q.size())
	{
		node u=q.top(); q.pop();
		for (register int i=head[u.id]; i; i=e[i].next)
		if (!vis[e[i].to])
		{
			vis[e[i].to]=true;
			a[e[i].to]=a[u.id]+1;
			q.push((node){e[i].to,a[e[i].to]});
		}
		else
		{
			if (a[e[i].to]!=a[u.id]+1 && a[e[i].to]!=a[u.id]-1) {jay=false; break;}
		}
	}
	if (!jay) puts("No");
	else
	{
		puts("Yes");
		for (register int i=1; i<=n; ++i) printf("%d\n",a[i]);
	}
return 0;	
}
F.
推式子…组合数…
有缘再做…
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值