Problem A

https://ac.nowcoder.com/acm/contest/554/A

题解:

找规律

/*
*@Author:   STZG
*@Language: C++
*/
#include <bits/stdc++.h>
#include<iostream>
#include<algorithm>
#include<cstdlib>
#include<cstring>
#include<cstdio>
#include<string>
#include<vector>
#include<bitset>
#include<queue>
#include<deque>
#include<stack>
#include<cmath>
#include<list>
#include<map>
#include<set>
//#define DEBUG
#define RI register int
#define endl "\n"
using namespace std;
typedef long long ll;
//typedef __int128 lll;
const int N=100+10;
const int M=100000+10;
const int MOD=1e9+7;
const double PI = acos(-1.0);
const double EXP = 1E-8;
const int INF = 0x3f3f3f3f;
int t,n,m,k,p,l,r,u,v;
int ans[N],cnt,flag,temp,sum;
int a[N][N][N*N];
char str;
struct node{};
void add (int b[],int c[]){int x=max(b[0],c[0]);for(int i=1;i<=x;i++){b[i]=b[i]+c[i];}for(int i=1;i<=x+100;i++){if(b[i]>=10){b[i+1]+=b[i]/10;b[i]%=10;}if(b[i]){b[0]=max(b[0],i);}}}
int main()
{
#ifdef DEBUGfreopen("input.in", "r", stdin);//freopen("output.out", "w", stdout);
#endif//ios::sync_with_stdio(false);//cin.tie(0);//cout.tie(0);//scanf("%d",&t);//while(t--){scanf("%d",&n);a[1][1][0]=1;a[1][0][0]=1;a[1][1][1]=1;a[1][0][1]=1;for(int i=2;i<=n;i++){a[i][0][0]=1;a[i][0][1]=1;for(int j=1;j<=i;j++){for(int k=0;k<=j;k++){add(a[i][j],a[i-1][k]);}//printf("%d%c",a[i][j]," \n"[i==j]);}}ans[0]=1;for(int i=1;i<=n;i++){add(ans,a[n][i]);}for(int i=ans[0];i>=1;i--)printf("%d",ans[i]);cout<<endl;//}#ifdef DEBUGprintf("Time cost : %lf s\n",(double)clock()/CLOCKS_PER_SEC);
#endif//cout << "Hello world!" << endl;return 0;
}

Problem B

https://ac.nowcoder.com/acm/contest/554/B

题解:

/*
*@Author:   STZG
*@Language: C++
*/
#include <bits/stdc++.h>
#include<iostream>
#include<algorithm>
#include<cstdlib>
#include<cstring>
#include<cstdio>
#include<string>
#include<vector>
#include<bitset>
#include<queue>
#include<deque>
#include<stack>
#include<cmath>
#include<list>
#include<map>
#include<set>
//#define DEBUG
#define RI register int
#define endl "\n"
using namespace std;
typedef long long ll;
//typedef __int128 lll;
const int N=10+10;
const int M=100000+10;
const int MOD=1e9+7;
const double PI = acos(-1.0);
const double EXP = 1E-8;
const int INF = 0x3f3f3f3f;
int t,n,m,k,p,l,r,u,v;
int ans,cnt,flag,temp,sum;
int a[N][N];
char str;
struct node{};
int main()
{
#ifdef DEBUGfreopen("input.in", "r", stdin);//freopen("output.out", "w", stdout);
#endif//ios::sync_with_stdio(false);//cin.tie(0);//cout.tie(0);scanf("%d",&t);while(t--){//scanf("%d",&n);for(int i=0;i<3;i++){for(int j=0;j<3;j++){scanf("%d",&a[i][j]);}}ans=a[0][0]*a[1][1]*a[2][2]+a[1][0]*a[2][1]*a[0][2]+a[2][0]*a[0][1]*a[1][2]-a[0][2]*a[1][1]*a[2][0]-a[1][2]*a[2][1]*a[0][0]-a[2][2]*a[0][1]*a[1][0];cout<<(ll)ans*ans<<endl;}#ifdef DEBUGprintf("Time cost : %lf s\n",(double)clock()/CLOCKS_PER_SEC);
#endif//cout << "Hello world!" << endl;return 0;
}

Problem C

https://ac.nowcoder.com/acm/contest/554/C

题解:快速幂

/*
*@Author:   STZG
*@Language: C++
*/
#include <bits/stdc++.h>
#include<iostream>
#include<algorithm>
#include<cstdlib>
#include<cstring>
#include<cstdio>
#include<string>
#include<vector>
#include<bitset>
#include<queue>
#include<deque>
#include<stack>
#include<cmath>
#include<list>
#include<map>
#include<set>
//#define DEBUG
#define RI register int
#define endl "\n"
using namespace std;
typedef long long ll;
//typedef __int128 lll;
const int N=100000+10;
const int M=100000+10;
const int MOD=1e9+7;
const double PI = acos(-1.0);
const double EXP = 1E-8;
const int INF = 0x3f3f3f3f;
int t,n,m,k,p,l,r,u,v;
int ans,cnt,flag,temp,sum;
int a,b;
char str;
struct node{};
int PowerMod(int a, int b, int c){int ans = 1;a = a % c;while(b>0){if(b % 2 == 1)ans = (ans * a) % c;b >>= 1;a = (a * a) % c;}return ans;
}int main()
{
#ifdef DEBUGfreopen("input.in", "r", stdin);//freopen("output.out", "w", stdout);
#endif//ios::sync_with_stdio(false);//cin.tie(0);//cout.tie(0);scanf("%d",&t);while(t--){scanf("%d%d%d",&a,&n,&b);cout<<PowerMod(a,n,b)<<endl;}#ifdef DEBUGprintf("Time cost : %lf s\n",(double)clock()/CLOCKS_PER_SEC);
#endif//cout << "Hello world!" << endl;return 0;
}

Problem D

https://ac.nowcoder.com/acm/contest/554/D

题解:

Problem E

https://ac.nowcoder.com/acm/contest/554/E

题解:朴素

/*
*@Author:   STZG
*@Language: C++
*/
#include <bits/stdc++.h>
#include<iostream>
#include<algorithm>
#include<cstdlib>
#include<cstring>
#include<cstdio>
#include<string>
#include<vector>
#include<bitset>
#include<queue>
#include<deque>
#include<stack>
#include<cmath>
#include<list>
#include<map>
#include<set>
//#define DEBUG
#define RI register int
#define endl "\n"
using namespace std;
typedef long long ll;
//typedef __int128 lll;
const int N=100000+10;
const int M=100000+10;
const int MOD=1e9+7;
const double PI = acos(-1.0);
const double EXP = 1E-8;
const int INF = 0x3f3f3f3f;
int t,n,m,k,p,l,r,u,v;
int ans,cnt,flag,temp,sum;
int a,b,c,y;
char str;
struct node{};
bool check(int y){return y%4==0&&y%100!=0||y%400==0;
}
int mo[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}};
int main()
{
#ifdef DEBUGfreopen("input.in", "r", stdin);//freopen("output.out", "w", stdout);
#endif//ios::sync_with_stdio(false);//cin.tie(0);//cout.tie(0);//scanf("%d",&t);//while(t--){while(~scanf("%d%d%d%d",&a,&b,&c,&y)){int week=1;int num=1;ans=0;int year,month,day;for(int i=1850;i<=y;i++){int f=check(i);for(int j=1;j<=12;j++){num=0;for(int k=1;k<=mo[f][j];k++){week++;if(week>7)week=1;if(week==c)num++;if(i==y&&j==a&&b==num&&week==c){ans=1;year=i;month=j;day=k;break;}}}}if(ans){printf("%d/",year);if(month<10)printf("0%d/",month);elseprintf("%d/",month);if(day<10)printf("0%d\n",day);elseprintf("%d\n",day);}else{cout<<"none"<<endl;}}//}#ifdef DEBUGprintf("Time cost : %lf s\n",(double)clock()/CLOCKS_PER_SEC);
#endif//cout << "Hello world!" << endl;return 0;
}

Problem F

https://ac.nowcoder.com/acm/contest/554/F

题解:

Problem G

https://ac.nowcoder.com/acm/contest/554/G

题意:原题  求区间内 能被 自己每位上的和整除(即模 ==0)的个数

题解:

枚举每位上的和 MOD 取值[1,81] 
就转化为 区间内 能被 MOD整除以及 每位上的和等于MOD 的个数

#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <string>
#include <iostream>
#include <algorithm>
#include <sstream>
#include <cmath>
using namespace std;
#include <queue>
#include <stack>
#include <vector>
#include <deque>
#include <set>
#include <map>
#define cler(arr, val)    memset(arr, val, sizeof(arr))
#define FOR(i,a,b)  for(int i=a;i<=b;i++)
#define IN   freopen ("in.txt" , "r" , stdin);
#define OUT  freopen ("out.txt" , "w" , stdout);
typedef long long  LL;
const int MAXN = 510011;
const int MAXM = 6000010;
const int INF = 0x3f3f3f3f;
const LL mod = 2147483647;
const double eps= 1e-8;
const double pi=acos(-1.0);
#define lson l,m, rt<<1
#define rson m+1,r,rt<<1|1
int f[10][82][82][82];
int dig[12],len;
//f[i][sum][mod][nowmod];
int dfs(int pos,int sum,int mod,int nowmod,int limit)
{if (pos<0)return sum==nowmod&&mod==0;if (!limit&&f[pos][sum][mod][nowmod]!=-1)return f[pos][sum][mod][nowmod];int res=0;int last=limit?dig[pos]:9;for (int i=0;i<=last;i++){int temp=(mod*10+i)%nowmod;res+=dfs(pos-1,sum+i,temp,nowmod,limit&&(i==last));}if (!limit) f[pos][sum][mod][nowmod]=res;return res;
}
int solve(int n)
{len=0;while(n){dig[len++]=n%10;n/=10;}int ans=0;for(int i=1;i<=81;i++)ans+=dfs(len-1,0,0,i,1);return ans;
}
int main()
{int n,cas=1;cler(f,-1);cin>>n;while(n--){int a,b;cin>>a>>b;if(a>b) swap(a,b);printf("Case %d: %d\n",cas++,solve(b)-solve(a-1));}return 0;
}

Problem H

https://ac.nowcoder.com/acm/contest/554/H

题解:欧拉筛

/*
*@Author:   STZG
*@Language: C++
*/
#include <bits/stdc++.h>
#include<iostream>
#include<algorithm>
#include<cstdlib>
#include<cstring>
#include<cstdio>
#include<string>
#include<vector>
#include<bitset>
#include<queue>
#include<deque>
#include<stack>
#include<cmath>
#include<list>
#include<map>
#include<set>
//#define DEBUG
#define RI register int
#define endl "\n"
using namespace std;
typedef long long ll;
//typedef __int128 lll;
const int N=1000000+10;
const int M=100000+10;
const int MOD=1e9+7;
const double PI = acos(-1.0);
const double EXP = 1E-8;
const int INF = 0x3f3f3f3f;
int t,n,m,k,p,l,r,u,v,a,b;
int ans,cnt,flag,temp,sum;
int pre[N];
bool prime[N];
int d[N];
int num[N];
char str;
struct node{};
int main()
{
#ifdef DEBUGfreopen("input.in", "r", stdin);//freopen("output.out", "w", stdout);
#endif//ios::sync_with_stdio(false);//cin.tie(0);//cout.tie(0);//scanf("%d",&t);prime[0]=prime[1]=1;d[1]=1;for(int i=2;i<N;i++){if(prime[i]==0){pre[++cnt]=i;d[i]=2;num[i]=1;}for(int j=1;j<=cnt&&i*pre[j]<N;j++){prime[i*pre[j]]=i;d[i*pre[j]]=d[i]*d[pre[j]];num[i*pre[j]]=1;if(i%pre[j]==0){num[i*pre[j]]=num[i]+1;d[i*pre[j]]=d[i]/(num[i*pre[j]])*(num[i*pre[j]]+1);break;}}//cout<<phi[i]<<endl;}scanf("%d",&t);while(t--){scanf("%d%d%d",&n,&a,&b);ans=0;for(int i=a;i<=b;i++){if((d[i])%2==0){ans++;}}cout<<ans<<endl;}#ifdef DEBUGprintf("Time cost : %lf s\n",(double)clock()/CLOCKS_PER_SEC);
#endif//cout << "Hello world!" << endl;return 0;
}

Problem I

https://ac.nowcoder.com/acm/contest/554/I

Problem J

https://ac.nowcoder.com/acm/contest/554/J

哈尔滨工程大学ACM预热赛相关推荐

  1. 哈尔滨工程大学ACM预热赛(A,C,H,I)

    A: 链接:https://ac.nowcoder.com/acm/contest/554/A 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65 ...

  2. 广东工业大学acm校赛总结(基础差的人的自我觉悟)

    2022.03.27 广东工业大学acm校赛总结: 实话说,这次校赛表现非常不好,B题的钩子就差一点点,分块了,也知道%k也知道分奇数偶数,就是最后差一个特判不知道怎么解决,寥寥草草一个三等奖,练了这 ...

  3. 大连海事大学ACM校赛题解

    大连海事大学ACM校赛题解 感谢xzx对题目的排版~ 作为出题人之一,我先简单说一下我认为的题目难度. 我觉着第一档比较容易的签到题是L.J.M,L就是向下取整的签到:J是简单思维.构造题,到了6以后 ...

  4. ICPC 山东省省赛刷题 第十七届哈尔滨工程大学ACM程序设计竞赛 牛客 AKE题 补题

    A:As long as I was by her side 题意:连续三个人的高度和是三的倍数,就说这三个人是"挺好的",一组数据进行排序,要求最多"挺好的" ...

  5. 中国石油大学ACM俱乐部开放训练赛

    文章目录 中国石油大学ACM俱乐部开放训练赛 A. sciorz画画(凸多边形最优三角型剖分,区间DP) B. 奎奎发红包(贪心) C. 关于我转生变成史莱姆这档事(DFS) F. 求和(矩阵构造+矩 ...

  6. 记2020年(第16届)湖南ACM省赛

    记2020年(第16届)湖南ACM省赛 写在前面 我很喜欢<龙族>里那个叫路明非的衰小孩.虽然我也不知道为什么要说这个,逃 这个世界有多大,取决于你认识的人,你每认识一个人,世界对你来说就 ...

  7. 哈尔滨工程大学学生郭天祥六年非一般的大学

    致阅读本书的大学生朋友 在哈尔滨工程大学六年,我在学校电子创新实验室呆了四年,这四年里创新实验室给我提供了良好的学习环境和完善的实验设备:在与众多电子爱好者的交流中,使我学到了更多的专业知识:在学校老 ...

  8. 郭天祥六年非一般的大学--哈尔滨工程大学学生

    人才是被逼出来的,人才是可以逼出来的,需要的就是乐观的人生态度和一如既往的信念和毅力. 致阅读本书的大学生朋友 在哈尔滨工程大学六年,我在学校电子创新实验室呆了四年,这四年里创新实验室给我提供了良好的 ...

  9. 一个彻彻底底的水军的ACM校赛感悟~~~

    2017年4月23日刚刚结束了ACM校赛.作为一名不是ACM队的水军来说,抱着必突突突的决心,参加了这次的比赛.经过五个小时的激烈角逐,我们队伍还参加了一场和我们没有什么关系的颁奖典礼. 我是一个编程 ...

最新文章

  1. 上传文件按钮美化,上传文件前后状态控制
  2. pat 乙级 1022 D进制的A+B(C++)
  3. 缺失值和异常值的识别与处理_识别异常值-第一部分
  4. 华尔街顶级大师胡立阳名言
  5. 容器编排技术 -- Kubernetes 为 Namespace 设置最小和最大内存限制
  6. mysql计算折纸_mysql数据库的创建和授权
  7. [HNOI2005]狡猾的商人 带权并查集
  8. 4.1 Spark SQL概述
  9. 计算机无故重启是什么原因,事实:无缘无故重新启动计算机有什么问题?计算机无故重启的原因和解决方法...
  10. PHP ASCII 排序方法
  11. Spring之声明式事务控制(九)
  12. Large scale evolutionary optimization using cooperative coevolution
  13. 武汉大学计算机学院2010情景剧,武汉大学金秋情景剧大赛精彩落幕(组图)
  14. BNUOJ 4140 Video Game Troubles
  15. 如何在cmd命令行窗口打开QQ
  16. 【Spring入门】
  17. 【Web编程实践课第二次作业】体育新闻世界
  18. 微信小程序(模板消息)
  19. wincc工程组态论文_WinCC与S7-1500 R/H冗余系统的通信解析
  20. 群晖5.2php核心设置_求救!群晖dsm系统如何才能找到并设置php.ini文件

热门文章

  1. python中cumsum_python numpy中cumsum的用法详解
  2. Android什么是函数,什么是函数响应式编程(JavaAndroid版本)
  3. pb 修改数据窗口种指定字段位置_第三章 Python数据类型 容器
  4. 依赖注入底层反射原理_Spring中反射与反射的原理(转载)
  5. 计算机专业的校本教材,[中职计算机专业校本教材建设思路与实践]中职计算机专业课程...
  6. 【机器学习算法专题(蓄力计划)】七、机器学习中数据的相关分析
  7. 二、HDFS基本架构和shell操作
  8. 计算机组成原理译码器选择,计算机组成原理第三章习题参考解析.doc
  9. 四川师范学院C语言实验报告,C语言【四川师范大学文理学院吧】_百度贴吧
  10. 迁移学习之域自适应理论简介(Domain Adaptation Theory)