哈尔滨理工大学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 ...
随机推荐
- windows server 2008 各版本号下载地址(微软官网)
前言: 微软官网上下载系统的镜像文件要远比百度网盘下载起来得更快. Windows Server 2008 32-bit Standard(标准版)
- listbox 多选删除(找了好多都不行,终于让我写出来了)
方法一:两个for循环 aspx.cs private string id=""; protected void btn_del_Click(object sender, Even ...
- Gc.Db之循序渐进
距离上次写Gc.Db框架已经有一段时间了,最近默默对框架代码已经做了不少优化和功能,且已经提交至nuget,大家如果想使用此框架,可以通过nuget搜索:Gc.Db进行下载和安装包. 本篇文章主要是介 ...
- BZOJ-2127-happiness(最小割)
2127: happiness(题解) Time Limit: 51 Sec Memory Limit: 259 MBSubmit: 1806 Solved: 875 Description 高一 ...
- sqlmap --dns-domain模拟实践
因为看到乌云的这一篇文章 http://drop.xbclub.org/static/drops/tips-5283.html 里面的提到的用sqlmap 的--dns-domain 进行dns 注入 ...
- 通过WebStorm上传代码至github
首先需要注册github帐号,具体方法自行百度/谷歌. 打开WebStorm,我用的是2016.2.4版本(如果你有edu邮箱的话,可以免费使用一年,不只是Webstorm,JetBrains全家桶都 ...
- linux动态代码注入
参考网上文章:http://www.freebuf.com/articles/system/6388.html 按照文章,实现了代码的动态注入,即对一个正在运行的进程,在不重启的情况下执行一段不在原程 ...
- C#调用百度高精度IP定位API通过IP获取地址
API首页:http://lbsyun.baidu.com/index.php?title=webapi/high-acc-ip 1.申请百度账号,创建应用,获取密钥(AK) http://lbsyu ...
- 记一次WinForm程序中主进程打开子进程并传递参数的操作过程(进程间传递参数)
目标:想在WinForm程序之间传递参数.以便子进程作出相应的处理. 一种错误的方法 父进程的主程序: ProcessStartInfo psi = new ProcessStartInfo(); p ...
- oracle一次给多表添加相同字段
遇到一个需求:在已经建好的数据库中,为每一个数据表都添加相同的3个字段. 分析:数据库中的数据表较多,一一手动修改耗时低效,是否可以用程序遍历每一张表,然后为遍历到的当前表添加字段? 查询当前用户的所 ...