2020多校第五场Boring Game
程序员文章站
2022-06-25 16:18:50
思路对于每次展开,挑选当前最中间的位置作为 mid ,将上半段翻转一下贴到下半段的左边,直接用 vector 暴力维护整个过程。代码#include #include #include #include #include #include #define ll long longusing namespace s...
思路
对于每次展开,挑选当前最中间的位置作为 mid ,将上半段翻转一下贴到下半段的左边,直接用 vector 暴力维护整个过程。
代码
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <queue>
#include <cmath>
#include <cstring>
#define ll long long
using namespace std;
const int maxn=6e6+6;
const int N = 1e6+5;
const ll mod=998244353;
const ll MOD=998244353;
ll power(ll x,ll a)
{
ll ans=1;
while(a)
{
if(a&1)
{
ans=ans*x%mod;
}
x=x*x%mod;
a>>=1;
}
return ans;
}
ll a,b,ans;
char optr;
int base;
bool isop(char c)
{
if(c=='+'||c=='-'||c=='*'||c=='/'||c=='=')
return 1;
else
return 0;
}
int getn(char c)
{
if(c>='A')
return c-'A'+10;
else
return c-'0';
}
void fun(string s)
{
a=0;
b=0;
ans=0;
int i;
for(i=0; !isop(s[i]); i++)
{
a*=base;
a+=getn(s[i]);
}
optr=s[i];
for(i++; s[i]!='='; i++)
{
b*=base;
b+=getn(s[i]);
}
for(i++; i<s.size(); i++)
{
//cout<<getn(s[i])<<' ';
ans*=base;
ans+=getn(s[i]);
}
}
vector<int>node[N];
int main()
{
#ifndef ONLINE_JUDGE
// freopen("data.in.txt","r",stdin);
// freopen("data.out.txt","w",stdout);
#endif
// ios::sync_with_stdio(false);
int w;
cin>>w;
while(w--)
{
int n,k;
scanf("%d%d",&n,&k);
int limit=2*n*(1<<k);
for(int i=1; i<=limit; i++)
node[i].clear();
for(int i=1; i<=limit; i++)
{
int num;
scanf("%d",&num);
node[i].push_back(num);
}
int mid=1;
while(k--)
{
mid=mid+limit>>1;
for(int j=mid+1; j<=limit; j++)
{
int pos=mid-(j-(mid+1));
reverse(node[pos].begin(),node[pos].end());
node[j].insert(node[j].begin(),node[pos].begin(),node[pos].end());
node[pos].clear();
}
}
bool first=true;
for(int i=limit-2*n+1; i<=limit; i++)
for(int j=0; j<node[i].size(); j++)
{
if(first)
first=false;
else
putchar(' ');
printf("%d",node[i][j]);
}
puts("");
}
}
本文地址:https://blog.csdn.net/CreatureNoWords/article/details/107900363
下一篇: 简短的搞笑顺口溜
推荐阅读
-
2020牛客暑期多校训练营(第五场)
-
HDU6312 Game (多校第二场1004) 简单博弈
-
【杭电多校2020】第五场1001.Tetrahedron
-
2020牛客多校第三场-J Just Shuffle
-
【杭电多校2020】第二场1001.Total Eclipse(并查集)
-
2020牛客多校第3场[Clam and Fish+贪心]
-
2020牛客多校第三场 E Two Matchings
-
2020杭电多校第五场 1009 Paperfolding
-
[HDU多校2020]第三场 1004 Tokitsukaze and Multiple (贪心/dp)
-
2020牛客暑期多校 第一场 F Infinite String Comparision(字符串)