ABCDEFGHIJK
A是一个贪心,首先发电站和电塔其实本质上是差不多的,问题转化成n个区间覆盖问题,不相邻的区间用电线连一连的问题,sort后On的扫一遍,计算答案即可。


#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int read()
{
int x;scanf("%d",&x);return x;
}
struct node
{
int l,r;
friend bool operator<(node a,node b)
{
return a.l<b.l;
}
}o[200010];
ll ans;
int n,x,r;
int main()
{
n=read();
for(int i=1;i<=n;i++)
{
x=read();r=read();
o[i]={x-r,x+r};
}
sort(o+1,o+1+n);
r=o[1].r;
for(int i=1;i<=n;i++)
{
ans+=max(0,o[i].l-r);
r=max(r,o[i].r);
}
cout<<ans;
}
A
D计算几何题
只有Q点位于圆心的时候有所有方向的弧长都相等,其他情况下应该令弧长垂直于OQ


#include<bits/stdc++.h>
#define ll long long
using namespace std;
int read()
{
int x;scanf("%d",&x);return x;
}
void work()
{
long long r,x,y,d;
cin>>r>>x>>y>>d;
double len,AOC,BOC;
len=sqrt(x*x+y*y);
BOC=acos((len-d)/r);
AOC=acos((len+d)/r);
printf("%.12lf/n",(BOC-AOC)*r);
}
int main()
{
for(int t=read();t;t--)
work();
}
D
G找规律。当且仅当全为9或者999x的话答案就是s本身,否则输出串长-1个9

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll read()
{
ll x;scanf("%lld",&x);return x;
}
string s;
int main()
{
cin>>s;
int i=0;
while(i!=s.length()&&s[i]=='9')
i++;
if(i>=s.length()-1)
cout<<s;
else
for(i=0;i<s.length()-1;i++)
cout<<9;
}
G
原创文章,作者:carmelaweatherly,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/276731.html