江西理工大学南昌校区2016年新生赛
潘神的排序
解法:排序(什么为什么错了这么多次QAQ??解法就是排序啊)
1 2 | sort(a,a+3) cout<<a[1]<<endl; |
字符串解压
解法:字符串处理(处理字符串中的数字就好了,代码给出)
(当然可以用%d%c来快速处理~)
注意:如果题目是反过来告诉字符串,让你压缩会怎么办?
1 2 3 4 5 6 7 8 9 10 11 12 13 | for (i=0;i<k;i++) { if (a[i]>= '0' &&a[i]<= '9' ) { c=(a[i]- '0' )+c*10; continue ; } else { for (j=1;j<=c;j++) printf ( "%c" ,a[i]); c=0; } } |
lfforu的围巾
解法:答案不给出,母函数模板(不懂的去查他的模板,大概就是我下面写的那样,注意取模)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | for ( int i=0;i<=n;i++) { a[i]=1; b[i]=0; } for ( int i=2;i<=n;i++) { for ( int j=0;j<=n;j++) { for ( int k=0;k+j<=n;k+=i*i) { b[k+j]+=a[j]; } } for ( int z=0;z<=n;z++) { a[z] = b[z]%mod; b[z] = 0; } } cout<<a[n]<<endl; |
不要你离开
解法:难度我猜不在于算出概率,算概率只有去判断一下就好了
化简可以用公约数~(暴力求出所有解法也是可以的,如下面的形式)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | if (a>=b) max=a; else max=b; if (max==1) printf ( "1/1" ); if (max==2) printf ( "5/6" ); if (max==3) printf ( "2/3" ); if (max==4) printf ( "1/2" ); if (max==5) printf ( "1/3" ); if (max==6) printf ( "1/6" ); |
屏幕检测
解法:模拟,如果让你求0011000111000 有多少个连续的1,估计题目有容易的多
现在变成二维形式,还是一样的解法
我们加边界,当出现*时,判断左边是否有.,右边是否有*,或者说单独存在这一个*,统计一下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | #include <iostream> #include <stdio.h> #include <string> using namespace std; string s[105]; int main(){ int n,m; for ( int i=0;i<=105;i++){ s[0]+= '.' ; } while (cin>>n>>m){ for ( int i=1;i<=n;i++){ cin>>s[i]; s[i]= '.' +s[i]+ '.' ; } s[n+1]=s[0]; int cnt1=0,cnt2=0; for ( int i=1;i<=n;i++){ for ( int k=1;k<=m;k++){ if (s[i][k]== '*' ){ if (s[i-1][k]== '.' && s[i+1][k]== '*' ){ cnt1++; } if (s[i][k-1]== '.' && s[i][k+1]== '*' ){ cnt1++; } if (s[i-1][k]== '.' && s[i+1][k]== '.' && s[i][k-1]== '.' && s[i][k+1]== '.' ){ cnt2++; } } } } cout<<cnt2<< " " <<cnt1<<endl; } } |
袁少的觉醒
解法:参考http://www.cnblogs.com/yinghualuowu/p/5160313.html
疯狂的南昌小婊砸
解法:时间原因不知道怎么去说明白,先略过吧>~<
贪财的小艾
解法:一道模拟或者说是LCA。。(防ak题嘛,你懂得)
用map放每一个节点的对应边的权值,然后进行更新或者查询(具体看题目要求)
是不是说的有点简单了。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | #include <bits/stdc++.h> using namespace std; #define ll long long map<pair<ll,ll>,ll>m; int main() { int n; scanf ( "%d" ,&n); while (n--) { ll ty,u,v,w; scanf ( "%I64d" ,&ty); if (ty==1) { scanf ( "%I64d%I64d%I64d" ,&u,&v,&w); if (v<u)swap(u,v); while (v!=u) { if (v>u) { m[{v,v/2}]+=w; m[{v/2,v}]+=w; v/=2; } else if (u>v) { m[{u,u/2}]+=w; m[{u/2,u}]+=w; u/=2; } } } else { ll sum=0; scanf ( "%I64d%I64d" ,&u,&v); if (v<u)swap(u,v); while (v!=u) { if (v>u) { sum+=m[{v,v/2}]; v/=2; } else if (u>v) { sum+=m[{u,u/2}]; u/=2; } } printf ( "%I64d\n" ,sum); } } return 0; } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
2015-11-28 华东交通大学2015年ACM“双基”程序设计竞赛1003
2015-11-28 华东交通大学2015年ACM“双基”程序设计竞赛1005
2015-11-28 华东交通大学2015年ACM“双基”程序设计竞赛1001