东北农业大学第九届程序设计竞赛 题解
啦啦啦,我现在已经能ak校赛啦,啦啦,一年没白学(大雾)
A:DLK的魔法
分析:这题直接逆推,每次将当前数字尽量变成一个平方数,然后直接平方,直到1
思路:尽量少使用+1操作,就是最优方案,那么就是尽量多平方操作,那么逆推的时候,每次尽量造出平方数
代码:
ll n,a,b,c;
int main()
{cin>>n;if(n<=2)cout<<n<<"\n";else{do{if(c && n-c*c){b+=n-c*c+1;n=c;}elseif(c){b+=1;n=c;}c=sqrt(n);}while((n-c*c || c-1));cout<<b<<"\n";}return 0;
}
B:DLK的题册
ll a,b;
int main()
{cin>>a>>b;a/=2,b/=2;a-=b;if(a>0){cout<<"forward "<<a<<"\n";}elseif(a==0){cout<<"right here\n";}else{cout<<"backward "<<-a<<"\n";}return 0;//4 5 //2 3//1
}
C:DLK的队伍
ll a[maxn],n,asd,num;
int main()
{cin>>n;rep(i,1,n+1)cin>>a[i];sort(a+1,a+n+1);int l=1;rep(i,1,n+1){num++;if(num==a[l]){asd++;num=0;l=i+1;}}if(num)asd++;cout<<asd<<"\n";return 0;
}
D:DLK的计算器
分析:一开始还以为是个栈,要写后缀表达式之类的,然后发现就一个值每次加减就行
代码:
ll n,x,a;
string s1;
int main()
{cin>>n;while(n--){cin>>s1;switch(s1[1]){case '+':{cin>>x;a+=x;break;}case 'S':{cin>>x;a=x;break;}case 'R':{cout<<a<<"\n";break;}case '-':{cin>>x;a-=x;break;}case 'C':{a=0;break;}}}return 0;
}
E:DLK的游戏
分析:小博弈,最后一堆无意义,看前面的即可,1的时候状态转换,不是1的时候结果已经固定了
代码:
ll n,x,a;
string s1;
int main()
{cin>>n;n--;while(n--){cin>>x;if(x==1)a^=1;else{if(a)cout<<"KDL\n";elsecout<<"DLK\n";return 0;}}if(a)cout<<"KDL\n";elsecout<<"DLK\n";return 0;
}
F:DLK的房子
int a[maxn];
int val[maxn];
int n,m,q,l,l1,b;
int main()
{cin>>n>>m;rep(i,1,n+1){cin>>q;l=0;l1=0;while(q--){cin>>b;l1=l;l+=b;rep(i,l1+1,l){if(a[i]){val[a[i]]++;a[i]=0;}}if(l!=m)a[l]++;}}rep(i,1,m+1){if(a[i]){val[a[i]]++;a[i]=0;}}rep(i,1,n+1){cout<<val[i]<<" ";}cout<<"\n";return 0;
}
G:DLK的照片
db a,b,c,d;
int main()
{cin>>a>>b>>c>>d;d=d*a-b*c;if(d<0){//这是不是要判eps来的,emmmm d=0;}elsed/=a;cout<<fixed<<setprecision(6)<<d<<"\n";return 0;
}
H:DLK的地图
int n,m;
int dx[4]={1,-1,0,0};
int dy[4]={0,0,1,-1};
char fx[4]={'D','U','R','L'};
int a[maxn][maxn];
char b[maxn][maxn];
bool check(int x,int y)
{if(x<1 || x>n || y>m || y<1)return false;return true;
}
void work()
{rep(i,1,n+1){rep(j,1,m+1){if(a[i][j]==0)b[i][j]='X';else{rep(z,0,4){int x1=i+dx[z];int y1=j+dy[z];if(check(x1,y1)){if(a[x1][y1]==-1){//-1得内循环 if(a[i][j]==-1){b[i][j]=fx[z];break;}}else{//正数 if(a[i][j]==-1)continue;else{if(a[i][j]==a[x1][y1]+1){b[i][j]=fx[z];break;}}}}elsecontinue;}}}}
}
void print()
{rep(i,1,n+1){rep(j,1,m+1)cout<<b[i][j]<<" ";cout<<"\n";}
}
int main()
{cin>>n>>m;rep(i,1,n+1){rep(j,1,m+1)cin>>a[i][j];}work();print();return 0;
}
L:DLK的提示
int main()
{cout<<"Study Tips: Did you study today?\n";return 0;
}
J:DLK的翻转
//文艺平衡树
//m次操作 l,r
//翻转[l,r]//先插入1~n编号,但可以直接递归建树
//这个节点的值就是原本a[i]的值
//这个节点的排名是它是当前数组中的第几个,用左儿子的size+1表示
#include <bits/stdc++.h>
using namespace std;
#define rep(i,a,n) for(int i=a;i<n;i++)
#define per(i,a,n) for(int i=n-1;i>=a;i--)
typedef long long ll;
typedef double db;
typedef pair<int,int> PII;
typedef vector<int> VI;
const ll mod=1000000007;
const int maxn=1100005;
const int MAXN=1100005;
const int inf=0x3f3f3f3f;
const int INF=0x7f7f7f7f;
ll gcd(ll a,ll b){ return b?gcd(b,a%b):a;}
#define ms(a) memset(a,0,sizeof(a))
#define mss(a) memset(a,-1,sizeof(a))
#define msi(a) memset(a,inf,sizeof(a))
#define iossync ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);//head
#define ls(p) tree[p][0]
#define rs(p) tree[p][1]
#define root tree[0][1]
struct Splay_tree{int f,sub_size,cnt,value,tag;int son[2];
}s[MAXN];
int original[MAXN],root,wz;
inline bool which(int x){return x==s[s[x].f].son[1];
}
inline void update(int x){if(x){s[x].sub_size=s[x].cnt;if(s[x].son[0])s[x].sub_size+=s[s[x].son[0]].sub_size;if(s[x].son[1])s[x].sub_size+=s[s[x].son[1]].sub_size;}
}
inline void pushdown(int x){if(x&&s[x].tag){s[s[x].son[1]].tag^=1;s[s[x].son[0]].tag^=1;swap(s[x].son[1],s[x].son[0]);s[x].tag=0;}
}
inline void rotate(int x){int fnow=s[x].f,ffnow=s[fnow].f;pushdown(x),pushdown(fnow);bool w=which(x);s[fnow].son[w]=s[x].son[w^1];s[s[fnow].son[w]].f=fnow;s[fnow].f=x;s[x].f=ffnow;s[x].son[w^1]=fnow;if(ffnow){s[ffnow].son[s[ffnow].son[1]==fnow]=x;}update(fnow);
}
inline void splay(int x,int goal){for(int qwq;(qwq=s[x].f)!=goal;rotate(x)){if(s[qwq].f!=goal){//这个地方特别重要,原因是需要判断的是当前的父亲有没有到目标节点,而如果把“qwq”改成“x”……就会炸 rotate(which(x)==which(qwq)?qwq:x);}}if(goal==0){root=x;}
}int build_tree(int l, int r, int fa) {if(l > r) { return 0; }int mid = (l + r) >> 1;int now = ++ wz;s[now].f=fa;s[now].son[0]=s[now].son[1]=0;s[now].cnt++;s[now].value=original[mid];s[now].sub_size++;s[now].son[0] = build_tree(l, mid - 1, now);s[now].son[1] = build_tree(mid + 1, r, now);update(now);return now;
}
inline int find(int x){int now=root;while(1){pushdown(now);if(x<=s[s[now].son[0]].sub_size){now=s[now].son[0];} else {x-=s[s[now].son[0] ].sub_size + 1;if(!x)return now;now=s[now].son[1];}}
}
inline void reverse(int x,int y){int l=x-1,r=y+1;l=find(l),r=find(r);splay(l,0);splay(r,l);int pos=s[root].son[1];pos=s[pos].son[0];s[pos].tag^=1;
}
inline void dfs(int now){pushdown(now);if(s[now].son[0])dfs(s[now].son[0]);if(s[now].value!=-INF&&s[now].value!=INF){cout<<s[now].value<<" ";}if(s[now].son[1])dfs(s[now].son[1]);
}
int main(){iossync;int n,m,x,y,qwe;cin>>n>>m;original[1]=-INF,original[n+2]=INF;for(int i=1;i<=n;i++){cin>>original[i+1];}root=build_tree(1,n+2,0);//有一个良好的定义变量习惯很重要……重复定义同一个变量(比如全局的和局部的同名)那么就会发生覆盖。 for(int i=1;i<=m;i++){cin>>qwe;x=1,y=qwe;reverse(x+1,y+1);x=qwe+1,y=n;reverse(x+1,y+1);
// dfs(root);}dfs(root);
}
K:DLK的棋子
#include <bits/stdc++.h>
using namespace std;
#define rep(i,a,n) for(int i=a;i<n;i++)
#define per(i,a,n) for(int i=n-1;i>=a;i--)
typedef long long ll;
typedef double db;
typedef pair<int,int> PII;
typedef vector<int> VI;
const ll mod=1000000007;
const int maxn=1100005;
const int inf=0x3f3f3f3f;
const int INF=0x7f7f7f7f;
ll gcd(ll a,ll b){ return b?gcd(b,a%b):a;}
#define ms(a) memset(a,0,sizeof(a))
#define mss(a) memset(a,-1,sizeof(a))
#define msi(a) memset(a,inf,sizeof(a))
#define iossync ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);//题意分析
//所有格子每次移动方向相同
//那么要么全部格子刚好移动相同
//要么强制使某些格子中间得暂停移动
//暂停只有一个方法,达到边界,且向边界移动
//那么你首先得知道,谁移动最多
//不对不对
//知道谁移动最多其实是无效的
//最终的移动次数肯定得根据总体来看
//比如样例二的理论移动次数分别为 3 2 2 1 1
//实际有效次数为 5 6 6 5 3
//所以其实知道最大实际有效次数,即为最终次数 //再分析
//左右影响上下吗?
//不影响 没错,压根不影响
//所以左右和上下可以分开处理
//写一个work函数,第一次处理x
//第二次处理前,交换x和y
struct node{int sx,sy;int ex,ey;int dis;//我写dis干啥的???没用上呀 int xdis,ydis;int xsid,ysid;void init(int x1=0,int x2=0,int x3=0,int x4=0){sx=x1,sy=x2;ex=x3,ey=x4;xdis=sx-ex;ydis=sy-ey; xsid=-xdis;ysid=-ydis;}void change(){swap(sx,sy);swap(ex,ey);swap(xdis,ydis);swap(xsid,ysid);} bool operator < (const node & b) const{if(sx==b.sx)return ex<b.ex;return sx<b.sx;}
}a[maxn];
//bool cmp(node a,node b)
//{//写了change,就用不上了,呜呜呜,所以爱是会消失的
// if(sy==b.sy)
// return ey<b.ey;
// return sy<b.sy;
//}
int n,m,k,T,cnt;
int u,v,u1,v1;
void work()
{vector<int> v1;v1.push_back(-1); sort(a+1,a+k+1);int num=1;//记录不同初始位置数量v1.push_back(1);//话说直接unique就行,但总之后面要遍历一次//顺带着呗 //emm,先排除不可能的情况,剪枝一下 rep(i,1,k){// if(a[i].sx==a[i+1].sx && a[i].ex==a[i+1].ex)
// {// //emm,好像这情况挺好的?emmm,草,的确哦
// }
// else
// if(a[i].sx==a[i+1].sx && a[i].ex!=a[i+1].ex)
// {// cnt=-1;
// return ;
// }//按sx从小到大排序的,假如当前sx比上一个小,然而ex却比后面一个大//那么必然是不成立的,因为做不到呀//臣妾做不到呀//其实理论上也可行//比如全部都是倒序的//1 2 3 4 5//其实可以先全部去右边//然后再从右边回来//但规定了排序的顺序,相当于固定了目前只能左到右了 if(a[i].xdis>a[i+1].xdis){cnt=-1;return ;}if(a[i].sx==a[i+1].sx){if(a[i].ex<a[i+1].ex){cnt=-1;return ;}} else{//!=if(a[i].ex>a[i+1].ex){cnt=-1;return ;}num++;v1.push_back(i+1);}}int l=1,r=num;//除了首尾的,其他不能再随便动了//即必须保持同步//那么dis必须相同//然后首尾的,假如终点坐标相同//可以打个标记//标记为1时,代表此前有点终点坐标相同//那么最后计算位移的时候,需要注意下for(;l<r && l<num;l++){if(a[v1[l]].ex!=a[v1[l+1]].ex)break;}//假如l不是1,等同于打了标记for(;r>1 && r>l ; r--){if(a[v1[r]].ex!=a[v1[r-1]].ex)break;}//除了首尾的都需要同步 rep(i,l+1,r-1){if(a[v1[i]].xdis!=a[v1[i+1]].xdis){cnt=-1;return ;}}
// switch()//第一种//最简单的情况,所有数字同步移动就完事了//比如 1 3 2 4 3 5 4 6
// int flag1=1;
// rep(i,1,num)
// {// if(a//而此时,l和r一定没动,因为sx已经去重了//我好像是个脑瘫//中间判了3次num==1//在开头判一次不就好了吗if(num==1){cnt+=abs(a[v1[1]].xdis);return ;}if(l==1 && r==num ){// cnt+=abs(a[v1[1]].xdis);
//ex-sx//操操操,样例为啥过不去了呀,我傻了if(r-l==1){if(a[v1[1]].xdis==a[v1[2]].xdis && a[v1[num]].xdis==a[v1[num-1]].xdis){cnt+=abs(a[v1[1]].xdis);}elsecnt+=min(2*a[v1[1]].ex-2+a[v1[num]].sx-a[v1[num]].ex,\2*n-2*a[v1[num]].ex+a[v1[1]].ex-a[v1[1]].sx);}else{if(a[v1[1]].xdis==a[v1[2]].xdis && a[v1[num]].xdis==a[v1[num-1]].xdis){cnt+=abs(a[v1[1]].xdis);}elseif(a[v1[1]].xdis==a[v1[2]].xdis){cnt+=2*n+a[v1[1]].ex-a[v1[1]].sx-2*a[v1[num]].ex;}elseif(a[v1[num]].xdis==a[v1[num-1]].xdis){cnt+=a[v1[1]].sx-1+a[v1[1]].xsid-a[v1[num]].xsid+a[v1[1]].ex-1;}else{cnt+=min(a[v1[l+1]].sx-1-a[v1[l+1]].ex+a[v1[l]].ex\+n-1-a[v1[r]].ex+a[v1[l]].ex+n-a[v1[num]].ex\,n-a[v1[r-1]].sx-a[v1[r]].ex+a[v1[r-1]].ex+n-1\-a[v1[r]].ex+a[v1[l]].ex+a[v1[1]].ex-1);}}return ;}elseif(l==1){//左不动右动if(l==r){if(a[v1[1]].xdis==a[v1[2]].xdis && a[v1[num]].xdis==a[v1[num-1]].xdis){cnt+=abs(a[v1[1]].xdis);}elsecnt+=min(-2+a[v1[num]].sx+a[v1[num]].ex,2*n-a[v1[1]].ex-a[v1[1]].sx);
// cnt+=min(2*a[v1[1]].ex-2+a[v1[num]].sx-a[v1[num]].ex,\
// 2*n-2*a[v1[num]].ex+a[v1[1]].ex-a[v1[1]].sx);
// cnt+=min(a[v1[num]].sx+a[v1[num]].ex-2,2*m-a[v1[1]].sx-a[v1[1]].ex);return ;}
// cnt+=min(2*n+a[v1[1]].ex-a[v1[1]].sx\
// -2*a[v1[num]].ex,2*n-2 +a[v1[1]].ex+a[v1[1]].sx\
// -a[v1[r]].ex-a[v1[r]].ex);if(r-l>1){if(a[v1[1]].xdis==a[v1[2]].xdis){cnt+=2*n+a[v1[1]].ex-a[v1[1]].sx-2*a[v1[num]].ex;}else{cnt+=min(a[v1[l+1]].sx-1-a[v1[l+1]].ex+a[v1[l]].ex\+n-1-a[v1[r]].ex+a[v1[l]].ex+n-a[v1[num]].ex\,n-a[v1[r-1]].sx-a[v1[r]].ex+a[v1[r-1]].ex+n-1\-a[v1[r]].ex+a[v1[l]].ex+a[v1[1]].ex-1);}}else{// ans+=min(2*n-2*a[v1[num]].ex+a[v1[1]].ex-a[v1[1]].sx)cnt+=min(2*n+a[v1[1]].ex-a[v1[1]].sx\-2*a[v1[num]].ex,2*n-2 +a[v1[1]].ex+a[v1[1]].ex\-a[v1[r]].ex-a[v1[r]].sx);//2*n+a[v1[1]].ex-a[v1[1]].sx-2*a[v1[num]].ex//a[v1[1]].ex+a[v1[1]].sx-a[v1[r]].ex-a[v1[r]].ex
// if(a[v1[1]].xdis==a[v1[2]].xdis)
// {// cnt+=2*n+a[v1[1]].ex-a[v1[1]].sx-2*a[v1[num]].ex;
// }
// else
// {// cnt+=min(a[v1[l+1]].sx-1-a[v1[l+1]].ex+a[v1[l]].ex\
// +n-1-a[v1[r]].ex+a[v1[l]].ex+n-a[v1[num]].ex\
// ,n-a[v1[r-1]].sx-a[v1[r]].ex+a[v1[r-1]].ex+n-1\
// -a[v1[r]].ex+a[v1[l]].ex+a[v1[1]].ex-1);
//
// //a[v1[l+1]].sx-1-a[v1[l+1]].ex+a[v1[l]].ex+n-1-a[v1[r]].ex+a[v1[l]].ex+n-a[v1[num]].ex
// }}}elseif(r==num){if(l==r){// cnt+=min(a[v1[num]].sx+a[v1[num]].ex-2,2*m-a[v1[1]].sx-a[v1[1]].ex);
// return ;
// if(l==r)
// {if(a[v1[1]].xdis==a[v1[2]].xdis && a[v1[num]].xdis==a[v1[num-1]].xdis){cnt+=abs(a[v1[1]].xdis);}elsecnt+=min(-2+a[v1[num]].sx+a[v1[num]].ex,2*n-a[v1[1]].ex-a[v1[1]].sx);
// cnt+=min(2*a[v1[1]].ex-2+a[v1[num]].sx-a[v1[num]].ex,\
// 2*n-2*a[v1[num]].ex+a[v1[1]].ex-a[v1[1]].sx);
// cnt+=min(a[v1[num]].sx+a[v1[num]].ex-2,2*m-a[v1[1]].sx-a[v1[1]].ex);return ;
// }}
// cnt+=min(-2+2*a[v1[1]].ex-a[v1[num]].ex+a[v1[num]].sx,\
// 2*n-2+a[v1[l]].sx+a[v1[l]].ex-2*a[v1[r]].ex);if(r-l>1){if(a[v1[num]].xdis==a[v1[num-1]].xdis)cnt+=a[v1[1]].sx-1+a[v1[1]].xsid-a[v1[num]].xsid+a[v1[1]].ex-1;else{cnt+=min(n-2+a[v1[l+1]].sx-a[v1[l+1]].ex+a[v1[l]].ex-a[v1[r]].ex+a[v1[l]].ex+n-a[v1[num]].ex,n-a[v1[r-1]].sx-a[v1[r]].ex+a[v1[r-1]].ex+n-1-a[v1[r]].ex+a[v1[l]].ex+a[v1[1]].ex-1);}}else{// if(a[v1[num]].xdis==a[v1[num-1]].xdis)
// {// cnt+=a[v1[1]].sx-1+a[v1[1]].xsid-a[v1[num]].xsid+a[v1[1]].ex-1;
// }
// else
// {// cnt+=min(a[v1[l+1]].sx-1-a[v1[l+1]].ex+a[v1[l]].ex\
// +n-1-a[v1[r]].ex+a[v1[l]].ex+n-a[v1[num]].ex\
// ,n-a[v1[r-1]].sx-a[v1[r]].ex+a[v1[r-1]].ex+n-1\
// -a[v1[r]].ex+a[v1[l]].ex+a[v1[1]].ex-1);
// }cnt+=min(a[v1[1]].sx-1+a[v1[1]].xsid-a[v1[num]].xsid+a[v1[1]].ex-1,a[v1[l]].sx-1+n-1-a[v1[r]].ex+a[v1[l]].ex+n-a[v1[r]].ex);}}else{//先判特殊情况,最后全跑一个点去了//那么l==r if(l==r){if(num==1){cnt+=a[v1[1]].xdis;return ;}else{//全去左边,然后回去//或者全去右边,然后回去 cnt+=min(a[v1[num]].sx+a[v1[num]].ex-2,2*m-a[v1[1]].sx-a[v1[1]].ex);}return ;}if(r-l>1){//重点 cnt+=min(a[v1[l+1]].sx-1-a[v1[l+1]].ex+a[v1[l]].ex+n-1-a[v1[r]].ex+a[v1[l]].ex+n-a[v1[num]].ex,n-a[v1[r-1]].sx-a[v1[r]].ex+a[v1[r-1]].ex+n-1-a[v1[r]].ex+a[v1[l]].ex+a[v1[1]].ex-1);}else{cnt+=min(a[v1[l]].sx-1+n-1-a[v1[r]].ex+a[v1[l]].ex+n-a[v1[num]].ex,n-a[v1[r]].sx+n-1-a[v1[r]].ex+a[v1[l]].ex+a[v1[1]].ex-1);}
// else
// {// cnt+=min(2*n-2+a[v1[l]].sx+a[v1[l]].ex-a[v1[num]].ex-a[v1[num]].ex,\
// 2*n-2-a[v1[r]].sx-a[v1[r]].ex+a[v1[l]].ex+a[v1[1]].ex);
// }}
}
int a1,a2;
int main()
{// freopen("2.txt","r",stdin);
// freopen("3.txt","w",stdout);
// iossync;cin>>T;
// a1=6;
// a2=a1+2;
// int fuck=0;while(T--){cnt=0;
// fuck++;
// if(fuck>=1250 && 1250 <= 1252)
// {//
// }cin>>n>>m>>k;
// if(fuck>=a1 && fuck<= a1)
cout<<n<<" "<<m<<" "<<k<<"\n";rep(i,1,k+1){cin>>u>>v>>u1>>v1;
// if(fuck>=a1 && fuck <= a1)
// {// cout<<u<<" "<<v<<" "<<u1<<" "<<v1<<"\n";
// }a[i].init(u,v,u1,v1);}work();if(cnt!=-1){rep(i,1,k+1)a[i].change();swap(n,m);work();}cout<<cnt<<"\n";}return 0;
}
L:DLK的比赛
#include <bits/stdc++.h>
using namespace std;
#define rep(i,a,n) for(int i=a;i<n;i++)
#define per(i,a,n) for(int i=n-1;i>=a;i--)
typedef long long ll;
typedef double db;
typedef pair<int,int> PII;
typedef vector<int> VI;
const ll mod=1000000007;
const int maxn=1100005;
const int inf=0x3f3f3f3f;
const int INF=0x7f7f7f7f;
ll gcd(ll a,ll b){ return b?gcd(b,a%b):a;}
#define ms(a) memset(a,0,sizeof(a))
#define mss(a) memset(a,-1,sizeof(a))
#define msi(a) memset(a,inf,sizeof(a))
#define iossync ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
ll n,x,a;
int main()
{cin>>n;rep(i,0,n){cin>>x;a=(a<<1)+x;}cout<<((1<<n)-a)<<"\n";return 0;
}
东北农业大学第九届程序设计竞赛 题解相关推荐
- 北华大学第九届程序设计竞赛 题解
5.14和队友VP一场,第二次VP,状态明显比第一次好很多,总共A了7题,基本是能做出来的都做出来了,最后还剩下接近2小时的时间..... A "北华"有几何 思路:数图片中&qu ...
- 文远知行杯广东工业大学第十六届程序设计竞赛(题解)
文远知行杯广东工业大学第十六届程序设计竞赛_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ A:思维题 #include<bits/stdc++.h> usi ...
- 集美大学第九届程序设计竞赛 部分题解(待补充)
B.https://ac.nowcoder.com/acm/contest/42400/B 题目大意,就是选取两个合法矩形,求总方案数为多少. 思路:可以很巧妙的转化一下问题,选取两个矩形,本质上就是 ...
- “科林明伦杯”哈尔滨理工大学第十届程序设计竞赛题解 H
H 直线 平面上存在n条直线.请问n条直线在平面上最多存在多少交点. 题解 数学题.平面上n条直线最多有1/2 * n * (n-1)个交点. 注意数据范围比较大,需要用高精.或者python/jav ...
- “九韶杯”河科院程序设计协会第一届程序设计竞赛题解
A-6的个数 题意 2021中,出现了多少个数字6 思路 for循环枚举对于每个数分解之后贡献答案就可以了 代码 #include <bits/stdc++.h> using na ...
- 第一届程序设计竞赛题解(E题)
E.码头菩萨 题目描述: 众所周知,陈末是个英雄联盟菜鸟,又菜又爱玩. 陈末特别喜欢用派克来秀他下饭的操作,每次都能把自己秀死. 涌泉之恨是派克的大招,能在一定情况下,直接斩杀敌人. 此时陈末操作的派 ...
- 科林明伦杯哈尔滨理工大学第九届程序设计竞赛
A氵题 B错排公式 C 不太懂卡塔兰数是啥东西,于是乎写的是一个n^2的dp,暴力打表写文件里,然后复制到代码里,然后切掉了 打表代码 #include<bits/stdc++.h> us ...
- 科林明伦杯哈尔滨理工大学第九届程序设计竞赛 H 题(dfs)
深度优先搜索!!!!! n 个数中取不超过 k 个数并将他们相加,请问有多少种不同的取法使得取出的数的和是质数 Input多组数据,第一行一个整数 T 表示数据组数(T<=5)对于每一组数据:第 ...
- 2018年长沙理工大学第十三届程序设计竞赛题解
链接:https://www.nowcoder.com/acm/contest/96/A 来源:牛客网 "LL是什么?这都不知道的话,别说自己是程序猿啊!" "lon ...
最新文章
- Wijmo 更优美的jQuery UI部件集:运行时处理Wijmo GridView数据操作
- 计算机弹奏两只老虎爱跳舞,原神风物之诗琴乐谱大全
- 算法竞赛入门经典(第二版) | 习题3-10 盒子 (pair结构体)(UVa1587,Box)
- selenium webdriver 启动三大浏览器Firefox,Chrome,IE
- 自己动手写UI库——引入ExtJs(布局)
- linux 安装redis2.8.3,Linux及Windows安装Redis(详细)
- 【报告分享】2019年度薪酬白皮书.pdf(附下载链接)
- asp系统转换php系统时间函数,window_Asp常用通用函数之生成时间的整数,'函数名:GetMyTimeNumber()' - phpStudy...
- Linux基础系列4(ls,cp命令详解)
- 【每日算法Day 96】腾讯面试题:合并两个有序数组
- 继承ActionSupport例子展示
- 前端js ,实现简体繁体语言切换
- No module named libs.resources
- python项目总结
- html数据线如何使用,揭秘数据线DIY详细步骤
- Flutter Demo 简单的涂鸦应用
- 【机器学习】有监督、无监督、自监督、半监督、弱监督的区别
- 名符其实的react下一代状态管理器hox
- Acne Scarring Treatment
- 3、频域无芯片RFID标签原理
热门文章
- 【分享rmzt:三国杀猛将游戏主题】
- 沃尔特·欧文·本特利(Walter Owen Bentley)是著名的创始人
- 2018年撰写好文案的三个方面知识
- Java中Random.nextInt()方法功能简介说明
- linux文件夹不能复制,linux如何复制文件夹
- GT/s和GB/s(Gbps)之间含义说明
- Enter passphrase for key(输入密码短语)
- 猫书 如何轻松拥猫入怀
- python数码时钟代码_用python写一个程序,以电子时钟格式打印时间,每隔一秒刷新一次...
- centos8开放3306端口