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预热赛的更多相关文章

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

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

  2. 哈尔滨工程大学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 ( ...

  3. 哈尔滨工程大学ACM预热赛 补题

    链接:https://ac.nowcoder.com/acm/contest/554/A来源:牛客网 小虎刚刚上了幼儿园,老师让他做一个家庭作业:首先画3个格子,第二行有2个格子,第三行有1个格子. ...

  4. 第六届acm省赛总结(退役贴)

    前言: 这是我的退役贴,之前发到了空间里,突然想到也要在博客里发一篇,虽然我很弱,但是要离开了还是有些感触,写出来和大家分享一下,希望不要见笑.回来看看,这里也好久没有更新了,这一年确实有些懈怠,解题 ...

  5. [原]sdut2624 Contest Print Server (大水+大坑)山东省第四届ACM省赛

    本文出自:http://blog.csdn.net/svitter 原题:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&am ...

  6. 2014 ACM省赛总结

    今年ACM省赛已经过去一个星期左右了,2年的ACM训练是该做个总结了,因为前几日去參加蓝桥杯总决赛,所以没来的及写总结,如今在这小小总结一下吧-- 依晰记得去年省赛时候的样子,如今感觉那时像是个无知的 ...

  7. 2015浙江财经大学ACM有奖周赛(一) 题解报告

    2015浙江财经大学ACM有奖周赛(一) 题解报告 命题:丽丽&&黑鸡 这是命题者原话. 题目涉及的知识面比较广泛,有深度优先搜索.广度优先搜索.数学题.几何题.贪心算法.枚举.二进制 ...

  8. 第一次参加acm区域赛

    什么,这周天就要去参加acm焦作赛,简直不敢相信.从大一暑假七月份中旬到今天十一月23日,加入acm将近四个多月的时间,如今到了检验自己的时候了.aaaaaaaaaa.乌拉,必胜.打印个模板,在跑个步 ...

  9. 记:青岛理工ACM交流赛筹备工作总结篇

    这几天筹备青岛理工ACM交流赛的过程中遇到了不少问题也涨了不少经验.对非常多事也有了和曾经不一样的看法, ​一直在想事后把这几天的流水帐记一遍,一直没空直到今天考完C++才坐下来開始动笔.将这几天的忙 ...

随机推荐

  1. python——虚拟环境之virtualenvwrapper-win(windows10,64位)

    1 问题描述 当M个项目需要N个版本的python环境配置时(M>N)时,我们没有必要对每个项目都创建一个虚拟环境,只需要创建N个虚拟环境即可.这样节省了大量存储空间(特别是当M远大于N时).但 ...

  2. python3编写网络爬虫22-爬取知乎用户信息

    思路 选定起始人 选一个关注数或者粉丝数多的大V作为爬虫起始点 获取粉丝和关注列表 通过知乎接口获得该大V的粉丝列表和关注列表 获取列表用户信息 获取列表每个用户的详细信息 获取每个用户的粉丝和关注 ...

  3. 《Linux服务器的监控》

    本文地址:http://www.cnblogs.com/aiweixiao/p/7131532.html 原文地址(公众号):http://t.cn/RKwmqUs 点击关注 微信公众号 1. 监控概 ...

  4. E. Superhero Battle Codeforces Round #547 (Div. 3) 思维题

    E. Superhero Battle time limit per test 2 seconds memory limit per test 256 megabytes input standard ...

  5. FinalShell安装

    Mac版安装路径/Applications/finalshelldata Linux版安装路径/usr/lib/finalshelldata 注意:1.FinalShell运行需要java或者jdk支 ...

  6. Java学习笔记(三)——封装、继承、多态

    一.封装 概念: 将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问. 实现步骤: 修改属性的可见性——设为private. 创建getter/se ...

  7. [1] 从零开始 TensorFlow 学习

    计算图的基本概念 TensorFlow 的名字中己经说明了它最重要的两个概念一一Tensor 和 Flow Tensor: 张量(高阶数组,矩阵为二阶张量,向量为一阶张量,标量为零阶张量) Flow: ...

  8. forall 与 for loop 案例

    create table a_tab(ver number,id number);create table b_tab(ver number,id number);set timing on DECL ...

  9. Python:Day24 类、类的三大特性

    Python有两种编程方式:函数式+面向对象 函数式编程可以做所有的事情,但是否合适? 面向对象: 一.定义 函数: def + 函数名(参数) 面象对象: class  bar--->  名字 ...

  10. RMAN_RAC归档日志备份包恢复到单机

    恢复归档日志的方法: RAC是ASM的存储且是OMF创建的格式,所以RAC的日志名为如下+ARCH/mioa/archive/1_73554_875548170.dbf.+ARCH/mioa/arch ...