哈尔滨理工大学ACM全国邀请赛(网络同步赛)题解
提交连接:http://acm-software.hrbust.edu.cn/problemset.php?page=5
1470-1482
只做出来四道比较水的题目,还需要加强中等题的训练。
题解:
E666
这个题是让求有多少个子串只含有6。寻找连续的6,然后用n*(n+1)/2求出这一段的子串个数,然后把每一段连续的加起来。
做的时候wa了很多次,原来是在n*(n+1)的地方已经超过int型了,所以需要设置类型为long long。
#include <cstdio>
#include <iostream>
#include <cstring>
using namespace std;
int T,N;
char s[];
long long sum;
long long int tag;
int main()
{ scanf("%d",&T);
while(T--)
{
sum=;
tag=;
scanf("%d",&N);
scanf("%s",s);
for(int i=;i<N;i++)
{ if(s[i]=='')
{
t
ag++;
}
else
{
sum=sum+(tag*(tag+))/;
tag=;
}
}
long long int tt=tag*(tag+)/;
sum+=tt;
printf("%lld\n",sum);
}
return ;
}
H Blocks
队友看的这个题,说是裸地斐波那契数列,正好做过矩阵快速幂的于是就粘上了。
#include <iostream>
#include <cstdio>
#include <cstring> #define mod 1000000007 using namespace std; struct matrix{
long long int m[][];
}; matrix base,ans; void init(int n){//Ö»³õʼ»¯baseºÍans(µ¥Î»¾ØÕó)
memset(base.m,,sizeof(base.m));
memset(ans.m,,sizeof(ans.m));
for(int i=;i<;i++){
ans.m[i][i]=;
} base.m[][]=base.m[][]=base.m[][]=;
} matrix multi(matrix a,matrix b){
matrix t;
for(int i=;i<;i++){
for(int j=;j<;j++){
t.m[i][j]=;
for(int k=;k<;k++){
t.m[i][j]=(t.m[i][j]+a.m[i][k]*b.m[k][j])%mod;
}
}
}
return t;
} long long int fast_matrix(long long int n){
while(n){
if(n&){
ans=multi(ans,base);
}
base=multi(base,base);
n>>=;
}
return ans.m[][];
} int main()
{
long long int n;
while(~scanf("%lld",&n) && n!=){
init(n+);
printf("%lld\n",fast_matrix(n+));
}
return ;
}
J Odd number
最水的一个题,求奇数个数。
#include <iostream>
#include <cstdio> using namespace std; int main(){
int n;
int ans;
long long t;
while(~scanf("%d",&n)){
ans=;
for(int i=;i<n;i++){
scanf("%lld",&t);
if(t%==){
ans++;
}
}
printf("%d\n",ans);
} return ;
}
K Candy
糖果题,队友说就一个求n的m次方,只不过数非常大,这不就是快速幂吗!
#include <iostream>
#include <cstdio>
#define MOD2 1000000007 using namespace std; int T;
int m,n;
long long int rel; long long int fast_power(long long int a,long long int n){
long long int ans=,p=a;
while(n){
if(n&){
ans=((ans%MOD2)*(p%MOD2))%MOD2;
}
n>>=;
p=((p%MOD2)*(p%MOD2))%MOD2;
}
return ans;
} int main()
{
scanf("%d",&T);
while(T--)
{
scanf("%d%d",&n,&m);
rel=fast_power(m,n);
printf("%lld\n",rel);
}
return ;
}
哈尔滨理工大学ACM全国邀请赛(网络同步赛)题解的更多相关文章
- Minieye杯第十五届华中科技大学程序设计邀请赛现场同步赛 I Matrix Again
Minieye杯第十五届华中科技大学程序设计邀请赛现场同步赛 I Matrix Again https://ac.nowcoder.com/acm/contest/700/I 时间限制:C/C++ 1 ...
- NOI 2018网络同步赛(游记?)
刚中考完那段时间比较无聊,报名了一个同步赛,报完名才发现成绩单是要挂到网上的,而且因为报的早给了一个很靠前的考号...那布星啊,赶紧学点东西,于是在一周内学了网络流,Treap以及一些数论. Day1 ...
- 【NOI 2019】同步赛 / 题解 / 感想
非常颓写不动题怎么办…… 写下这篇博客警示自己吧…… 游记 7.16 我并不在广二参加 NOI,而是在距离广二体育馆一公里远的包间打同步赛(其实就是给写不动题找个理由) 上午身体不舒服,鸽了半天才看题 ...
- 2016广东工业大学新生杯决赛网络同步赛暨全国新生邀请赛 题解&源码
Problem A: pigofzhou的巧克力棒 Description 众所周知,pigofzhou有许多妹子.有一天,pigofzhou得到了一根巧克力棒,他想把这根巧克力棒分给他的妹子们.具体 ...
- 2019长安大学ACM校赛网络同步赛 L XOR (规律,数位DP)
链接:https://ac.nowcoder.com/acm/contest/897/L 来源:牛客网 XOR 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言6 ...
- 2019长安大学ACM校赛网络同步赛 J Binary Number(组合数学+贪心)
链接:https://ac.nowcoder.com/acm/contest/897/J 来源:牛客网 Binary Number 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32 ...
- 2019长安大学ACM校赛网络同步赛C LaTale (树上DP)
链接:https://ac.nowcoder.com/acm/contest/897/C来源:牛客网 LaTale 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 32768K,其他语 ...
- 2019长安大学ACM校赛网络同步赛 B Trial of Devil (递归)
链接:https://ac.nowcoder.com/acm/contest/897/B来源:牛客网 Trial of Devil 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32 ...
- 2019长安大学ACM校赛网络同步赛 M LCM (数论)
链接:https://ac.nowcoder.com/acm/contest/897/M来源:牛客网 LCM 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65 ...
随机推荐
- iOS推送流程
1. 在apple开发者帐号上创建一个BundleID,创建证书或者Xcode上都是用这个BundleID(例如com.mycompany.pushDemo) 2. 代码层面: 在capability ...
- XMind共享未保存的思维导图的教程
我们在XMind 6对导图进行局域网共享时,一般都是对XMind文件先进行保存再共享,那样是忘记保存呢,该如何共享.局域网共享功能是XMind 6特有的功能之一,自是较为完善,性能强大的功能,当然有办 ...
- MYSQL (二)
视图: 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,并可以将其当作表来使用. 1. 尽量使用视图完成读操作 2. ...
- 【poj2409】 Let it Bead
http://poj.org/problem?id=2409 (题目链接) 题意 一个n个珠子的项链,每个珠子可以被染成t种颜色.项链可以翻转和旋转,问不同的染色方案数. Solution Pólya ...
- python httplib get和post获取数据
httplib 下的 status http请求的状态 200 404 500... reason 返回答复 OK或者 FAULRE read() 读取内容 get方法: #!/usr/bin/e ...
- POJ 2253 Frogger(Dijkstra)
传送门 Frogger Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 39453 Accepted: 12691 Des ...
- 初识JVM--java虚拟机的基本知识
JVM运行时的内存块 pc寄存器:(线程独有)保存线程运行的java方法地址 Java 虚拟接栈(线程独有):用于存储线程的栈帧 Java堆(全局共享):随着Java虚拟机的启动 创建 存储着所有对象 ...
- ubuntu16.04文件形式安装mongodb
下载文件:mongodb-linux-x86_64-ubuntu1604-3.4.1.tgz,解压到home目录. 在mongodb目录下新建data/db目录. 在桌面新建一个shell文件run- ...
- Oracle数据库to_date()和to_char()的相关
select * from T_A a where a.begintime=to_date('2013-1-1','yyyy-mm-dd');和select * from T_A a where to ...
- C#中DataTable中的Compute方法使用收集
原文: C#中DataTable中的Compute方法使用收集 Compute函数的参数就两个:Expression,和Filter. Expresstion是计算表达式,关于Expression的详 ...