哈尔滨工程大学ACM预热赛
https://ac.nowcoder.com/acm/contest/554#question
A
#include <bits/stdc++.h>
using namespace std; int N;
long long dp[][]; int main() {
scanf("%d", &N);
memset(dp, , sizeof(dp));
dp[][] = , dp[][] = ;
for(int i = ; i <= N; i ++) {
for(int j = ; j <= i; j ++) {
for(int k = ; k <= j && k <= i - ; k ++) {
dp[i][j] += dp[i - ][k];
}
}
}
long long ans = ;
for(int i = ; i <= N; i ++)
ans += dp[N][i];
printf("%lld\n", ans - );
return ;
}
dp (long long 爆掉了)
#include <bits/stdc++.h>
using namespace std; string catalan[]= {
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
};
int main() {
int N;
scanf("%d", &N);
cout << catalan[N] << endl;
return ;
}
(下面的 code 是正解 卡特兰数打表)
B
#include <bits/stdc++.h>
using namespace std; int T;
int a[][], b[][]; int main() {
scanf("%d", &T);
while(T --){
for(int i = ; i <= ; i ++) {
for(int j = ; j <= ; j ++)
scanf("%d", &a[i][j]);
} for(int i = ; i <= ; i ++) {
for(int j = ; j <= ; j ++)
b[j][i] = a[i][j];
} long long ans = b[][] * b[][] * b[][] +
b[][] * b[][] * b[][] +
b[][] * b[][] * b[][] -
b[][] * b[][] * b[][] -
b[][] * b[][] * b[][] -
b[][] * b[][] * b[][]; printf("%lld\n", abs(ans * ans));
}
return ;
}
还要查一下什么是伴随矩阵 线代已经学完一年了呀
C
#include <bits/stdc++.h>
using namespace std; int T;
long long a, N, b; long long Pow(long long a, long long b, long long mod) {
long long ans = ;
a %= mod;
while(b) {
if(b % ) {
ans = (ans * a) % mod;
b --;
} else {
a = (a * a) % mod;
b /= ;
}
}
return ans % mod;
} int main() {
scanf("%d", &T);
while(T --) {
scanf("%lld%d%lld", &a, &N, &b);
long long cnt = Pow(a, N, b);
printf("%lld\n", cnt % b);
}
return ;
}
一个快速幂对 b 取 mod
H
#include <bits/stdc++.h>
using namespace std; const int maxn = 2e6 + ;
int sum[maxn], a[maxn];
int T, N; int main() {
for(int i = ; i <= 1e6; i ++) {
for(int j = i; j <= 1e6; j += i)
a[j] = !a[j];
} for(int i = ; i <= 1e6; i ++) {
if(a[i]) sum[i] = sum[i - ] + ;
else sum[i] = sum[i - ];
} scanf("%d", &T);
while(T --) {
int x, y;
scanf("%d%d%d", &N, &x, &y);
printf("%d\n", sum[y] - sum[x - ]);
}
return ;
}
先离线处理一下 然后每次查询求一下前缀和
前一阵心情很差劲呀 休息一阵之后发现真的不能停下来 脑子明显锈住了 这几天多动动脑子活过来吧!天梯赛的题目代码过两天贴上来吧 还有半个月省赛 要加油呢 明天雷火的笔试希望有好运气
就算是深夜也有人乘着阳光呢
哈尔滨工程大学ACM预热赛的更多相关文章
- 哈尔滨工程大学ACM预热赛(A,C,H,I)
A: 链接:https://ac.nowcoder.com/acm/contest/554/A来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言655 ...
- 哈尔滨工程大学ACM预热赛 G题 A hard problem(数位dp)
链接:https://ac.nowcoder.com/acm/contest/554/G Now we have a function f(x): int f ( int x ) { if ( ...
- 哈尔滨工程大学ACM预热赛 补题
链接:https://ac.nowcoder.com/acm/contest/554/A来源:牛客网 小虎刚刚上了幼儿园,老师让他做一个家庭作业:首先画3个格子,第二行有2个格子,第三行有1个格子. ...
- 第六届acm省赛总结(退役贴)
前言: 这是我的退役贴,之前发到了空间里,突然想到也要在博客里发一篇,虽然我很弱,但是要离开了还是有些感触,写出来和大家分享一下,希望不要见笑.回来看看,这里也好久没有更新了,这一年确实有些懈怠,解题 ...
- [原]sdut2624 Contest Print Server (大水+大坑)山东省第四届ACM省赛
本文出自:http://blog.csdn.net/svitter 原题:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&am ...
- 2014 ACM省赛总结
今年ACM省赛已经过去一个星期左右了,2年的ACM训练是该做个总结了,因为前几日去參加蓝桥杯总决赛,所以没来的及写总结,如今在这小小总结一下吧-- 依晰记得去年省赛时候的样子,如今感觉那时像是个无知的 ...
- 2015浙江财经大学ACM有奖周赛(一) 题解报告
2015浙江财经大学ACM有奖周赛(一) 题解报告 命题:丽丽&&黑鸡 这是命题者原话. 题目涉及的知识面比较广泛,有深度优先搜索.广度优先搜索.数学题.几何题.贪心算法.枚举.二进制 ...
- 第一次参加acm区域赛
什么,这周天就要去参加acm焦作赛,简直不敢相信.从大一暑假七月份中旬到今天十一月23日,加入acm将近四个多月的时间,如今到了检验自己的时候了.aaaaaaaaaa.乌拉,必胜.打印个模板,在跑个步 ...
- 记:青岛理工ACM交流赛筹备工作总结篇
这几天筹备青岛理工ACM交流赛的过程中遇到了不少问题也涨了不少经验.对非常多事也有了和曾经不一样的看法, 一直在想事后把这几天的流水帐记一遍,一直没空直到今天考完C++才坐下来開始动笔.将这几天的忙 ...
随机推荐
- C# -- 随机数产生的字母金字塔
C# -- 随机数产生的字母金字塔 1. 代码实现: static void Main(string[] args) { showNpoint(); Console.ReadKey(); } priv ...
- Visio画图--我的形状
本人用的Visio 2013 打开Visio后新建一个拓扑图,发现左侧形状一栏不见了 形状栏可以保存很多自定义图形,怎么才能将形状一栏重新显示出来呢?方法其实很简单,方法如下所示: 这时候我们就会发现 ...
- 【2018.10.11 C与C++基础】C Preprocessor的功能及缺陷(草稿)
一.前言及参考资料 C Preprocessor即所谓的C预处理器,C++也继承了C的预处理程序,但在C++语言的设计与演化一书中,C++的设计者Bjarne Strustrup提及他从未喜欢过C预处 ...
- Cesium实现文字、点、多段线、多边形的实时绘制
背景知识 点.线.面以及文字的实时绘制是GIS很重要的一个功能,是用户对感兴趣区域标注的业务需要.同时Cesium提供了点.线(多段线).面及文字(label)绘制的接口,绘制方式总共有两种,一种是通 ...
- 【工具大道】UML的点点滴滴
本文地址 点击关注微信公众号 wenyuqinghuai 分享提纲: 1. 概述 2. UML类图 3. UML时序图 4. 参考资料 1.概述 1.1)百度百科: 又称统 ...
- Mysql SQL分组取每组前几条记录
按name分组取最大的两个val: [比当前记录val大的条数]小于2条:即当前记录为为分组中的前两条 > (select count(*) from tb where name = a.nam ...
- P2080 增进感情(背包DP)
思路:将好感度x+y作为体积, 幸福度x-y作为作为价值, 然后就是一个经典的背包问题了.emmmmm,还可以特判一下,因为幸福度为0时就是最小了,没有必要看后面的了吧. 其实,我自己做的时候,沙雕的 ...
- 當 Alexa 遇上 ESP8266 (一)
https://www.birdandgua.net/bird/2017/12/when_alexa_meets_esp8266-1/ 去年的 AWS 的 re:Invent 上,我見識了 Alexa ...
- 理解 vue-router的beforeEach无限循环的问题
在理解beforeEach无限循环之前,我们先来看一下beforeEach相关的知识点,该篇文章的项目是基于 express+vue+mongodb+session实现注册登录 这篇文章项目基础之上进 ...
- face detection[HR]
该模型hybrid-resolution model (HR),来自<finding tiny faces>,时间线为2016年12月 0 引言 虽然大家在目标识别上有了较好的进步,可是检 ...