CF-928
排名四千多,目前为止排名最高的一场~
E题我赛时基本上是猜的结论(但是也推了快一小时才想到有这个可能性),因此目前只能放个码在这(⊙﹏⊙)
D的话现就放个码在这0-^-0
……上一场牛客打得特别烂(⊙﹏⊙),等我补了牛客的再更新-^-
B
分析
观察它的性质,答案为正方形时,所有出现1的行里,1的左右边界一定相等,且这个边界等于出现1的上下边界
操作
用l[]与r[]数组以出现1的行数为下标记录它的左右边界,同时用b与e记录出现1的上下边界,这些行里所有边界一定相等,因此之后再遍历b~e,若满足所有l等于r同时r-l等于e-b,则输出”SQUARE”,否则输出”TRIANGLE”
其中左右上下边服务器托管网界的记录是难点,我这里用的是标记,使得左边界只更新一次,右边界一直更新
代码
#include
using namespace std;
#define endl 'n'
#define int long long
#define db(x) cout=l;i--)
signed main()
{
std::ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int t,n,x,cnt=0,ans=0;cin>>t;
while(t--){
cin>>n;
char a[11][11];
char op;int l[11],r[11];
int b,e,fff=0;
for(int i=1;i>op;//a[i][j];
if(op=='1'){
r[i]=j;//只要出现1就更新右边界
if(f==0){
l[i]=j;//如果1在此行第一次出现,记录左边界
f=1;
}
}
}
//同理记录与更新上下边界
if(f){
服务器托管网 e=i;
if(fff==0){
b=i;
fff=1;
}
}
}
int ff=1;
for(int i=b+1;i
C
分析
即求1~n的数位之和,同时要注意时间限制是0.5s,意味着我们需要将答案预处理
操作
我们可以遍历1~2e5,用tmp记录i的数位和,再用a数组记录数位和的前缀和,这样在查询时直接输出a[n]就行
代码
#include
using namespace std;
#define endl 'n'
#define int long long
#define db(x) cout=l;i--)
const int N=2e5+5;
int a[N];
signed main()
{
std::ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int t,n,x,cnt=0,ans=0;cin>>t;
string s;
//预处理
rep(i,1,2e5){
int res=0,tp=i;
while(tp){
res+=tp%10;
tp/=10;
}
a[i]=res+a[i-1];
}
while(t--){
cin>>n;
int sum=a[n];
cout
D
代码
#include
using namespace std;
#define endl 'n'
#define int long long
#define db(x) cout=l;i--)
const int N=2e5+5;
int a[N];
signed main()
{
std::ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int t,n,x,cnt=0,ans=0;cin>>t;
while(t--){
cin>>n;
mapmp;
int c=2147483647;
rep(i,1,n){
cin>>a[i];
mp[a[i]]++;
}
ans=0;
rep(i,1,n){
if(mp[a[i]^c]&&mp[a[i]]){//计数配对数
//cout
E
代码
赛时是边写边想,所以最后的注释代码巨长……这里是删了之后的
#include
using namespace std;
#define endl 'n'
#define int long long
#define db(x) cout=l;i--)
int fp(int b,int p){
int res=1;
while(p){
if(p&1) res=res*b;
b=b*b;
p>>=1;
}
return res;
}
signed main()
{
std::ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int t,n,x,cnt=0,ans=0;cin>>t;
int k;
while(t--){
cin>>n>>k;
int o,e;
if(n&1){
o=n/2+1;
e=n-o;
}
else{
o=e=n/2;
}
if(k
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net