洛谷CON1041 NOIP模拟赛一试
A
T2-power of 2
题目描述
是一个十分特殊的式子。
例如:
n=0时
=2
然而,
太大了
所以,我们让
对10007 取模
输入输出格式
输入格式:
n
输出格式:
% 10007
输入输出样例
2
16
说明
n<=1000000
2^(2^n)
快速幂的方式log幂....就是n次平方
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <cmath>
#define debug(x) cout<<#x<<'='<<x<<' '
using namespace std;
typedef long long ll;
const int MOD=;
inline int read(){
char c=getchar();int x=,f=;
while(c<''||c>''){if(c=='-')f=-;c=getchar();}
while(c>=''&&c<=''){x=x*+c-'';c=getchar();}
return x*f;
}
int n;
int ans=;
int main(){
n=read();
if(n==){cout<<;return ;}
while(n--){
ans=(ans*ans)%MOD;
}
printf("%d",ans%MOD);
}
C
T3-cube
题目描述
有一个立方体,分成了个完全相等的小格
有的小格出现了糖果,如果一个格子出现多次糖果,则以最后得糖果数为准,你到了这个小格就可以拿,你在(1,1,1),你要走到(n,n,n),且只能走最短路径
问:你最多能拿到多少糖果
输入输出格式
输入格式:
n 以下若干行(EOF结束),每行4个数,前三个数是坐标,最后一个数是糖果个数
输出格式:
你最多拿到的糖果数
输入输出样例
2
1 1 1 3
1 1 2 4
2 1 2 5
12
5
0
说明
n<=100
糖果数<=100
水DP,立体了而已
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <cmath>
#define debug(x) cout<<#x<<'='<<x<<' '
using namespace std;
const int N=;
inline int read(){
char c=getchar();int x=,f=;
while(c<''||c>''){if(c=='-')f=-;c=getchar();}
while(c>=''&&c<=''){x=x*+c-'';c=getchar();}
return x*f;
}
int n,x,y,z,w[N][N][N];
int f[N][N][N];
int main(){
n=read();
while(scanf("%d%d%d",&x,&y,&z)!=EOF) w[x][y][z]=read();
for(int i=;i<=n;i++)
for(int j=;j<=n;j++)
for(int k=;k<=n;k++)
f[i][j][k]=max(f[i-][j][k],max(f[i][j-][k],f[i][j][k-]))+w[i][j][k];
printf("%d",f[n][n][n]);
}
D
T4-cube2
题目描述
还是那个立方体
还是那些糖
只是你需要走两次
输入输出格式
输入格式:
见T3
输出格式:
同上
输入输出样例
2
1 1 2 3
1 2 2 3
1 2 1 3
9
说明
n<=10
立体版传纸条
(1,1,1)和(n,n,n)也不知道怎么搞的
#include <iostream>
#include <cstdio>
//#include <algorithm>
#include <cstring>
#include <cmath>
#define debug(x) cout<<#x<<'='<<x<<' '
using namespace std;
typedef long long ll;
const int N=;
inline int read(){
char c=getchar();int x=,f=;
while(c<''||c>''){if(c=='-')f=-;c=getchar();}
while(c>=''&&c<=''){x=x*+c-'';c=getchar();}
return x*f;
}
int n,x,y,z,w[N][N][N];
int f[N][N][N][N][N*];
inline int max(int a,int b){
return a>b?a:b;
}
void dp(){
for(int s=;s<=n*;s++)
for(int i=;i<s&&i<=n;i++)
for(int j=;(i+j)<s&&j<=n;j++)
for(int k=;k<s&&k<=n;k++)
for(int l=;(l+k)<s&&l<=n;l++){
int z1=s-(i+j),z2=s-(k+l);
if(z1>n||z2>n) continue;
if(i==k&&j==l&&s!=*n) continue;
int mx1=max(f[i-][j][k-][l][s-],f[i-][j][k][l-][s-]);
mx1=max(f[i-][j][k][l][s-],mx1);
int mx2=max(f[i][j-][k-][l][s-],f[i][j-][k][l-][s-]);
mx2=max(f[i][j-][k][l][s-],mx2);
int mx3=max(f[i][j][k-][l][s-],f[i][j][k][l-][s-]);
mx3=max(f[i][j][k][l][s-],mx3);
f[i][j][k][l][s]=max(mx1,max(mx2,mx3))+w[i][j][z1]+w[k][l][z2]; //printf("%d %d %d %d %d %d\n",i,j,k,l,s,f[i][j][k][l][s]);
}
}
int main(){
n=read();
while(scanf("%d%d%d",&x,&y,&z)!=EOF) w[x][y][z]=read();
dp();
printf("%d",f[n][n][n][n][*n]-w[n][n][n]+w[][][]);
}
B
洛谷CON1041 NOIP模拟赛一试的更多相关文章
- [洛谷0925]NOIP模拟赛 个人公开赛 OI
P3395 路障 题目背景 此题约为NOIP提高组Day1T1难度. 题目描述 B君站在一个n*n的棋盘上.最开始,B君站在(1,1)这个点,他要走到(n,n)这个点. B君每秒可以向上下左右的某个 ...
- 【比赛】洛谷夏令营NOIP模拟赛
Day1 第一题 水题 第二题 题意:一个n*m的字符矩阵从左上到右下,经过字符形成回文串的路径数.n≤500 回文串,考虑两段往中间DP. f[k][x][y]表示走了k步,左上点横坐标为x,右下点 ...
- 洛谷 P5046 [Ynoi2019 模拟赛] Yuno loves sqrt technology I(分块+卡常)
洛谷题面传送门 zszz,lxl 出的 DS 都是卡常题( 首先由于此题强制在线,因此考虑分块,我们那么待查询区间 \([l,r]\) 可以很自然地被分为三个部分: 左散块 中间的整块 右散块 那么这 ...
- [洛谷P5048][Ynoi2019模拟赛]Yuno loves sqrt technology III
题目大意:有$n(n\leqslant5\times10^5)$个数,$m(m\leqslant5\times10^5)$个询问,每个询问问区间$[l,r]$中众数的出现次数 题解:分块,设块大小为$ ...
- 洛谷金秋夏令营模拟赛 第2场 T11737 时之终末
这道题就是道状压dp...比赛的时候太贪心 然后状压又不好 所以T2 T3一起挂了QAQ 吸取教训QAQ f[i][j][k]表示前i个数选了j个 最后a个的状态为k的答案 #include<c ...
- 洛谷金秋夏令营模拟赛 第2场 T11738 伪神
调了一个下午只有八十分QAQ md弃了不管了 对拍也没拍出来 鬼知道是什么数据把我卡了QAQ 没事我只是个SB而已 这题其实还是蛮正常的 做法其实很简单 根据链剖的构造方法 你每次修改都是一段又一段的 ...
- 【洛谷】xht模拟赛 题解
前言 大家期待已久并没有的题解终于来啦~ 这次的T1和HAOI2016撞题了...深表歉意...表示自己真的不知情... 天下的水题总是水得相似,神题各有各的神法.--<安娜·卡列妮娜> ...
- 洛谷P5048 [Ynoi2019模拟赛]Yuno loves sqrt technology III(分块)
传送门 众所周知lxl是个毒瘤,Ynoi道道都是神仙题 用蒲公英那个分块的方法做结果两天没卡过去→_→ 首先我们分块,预处理块与块之间的答案,然后每次询问的时候拆成整块和两边剩下的元素 整块的答案很简 ...
- 洛谷 P5048 - [Ynoi2019 模拟赛] Yuno loves sqrt technology III(分块)
题面传送门 qwq 感觉跟很多年前做过的一道题思路差不多罢,结果我竟然没想起那道题?!!所以说我 wtcl/wq 首先将 \(a_i\) 离散化. 如果允许离线那显然一遍莫队就能解决,复杂度 \(n\ ...
随机推荐
- C# 特性学习之一、CallerMemberName、CallerFilePath和CallerLineNumber
在开发中经常会写个公有静态类记录日志,如下: /// <summary> /// Writes the error. /// </summary> /// <param ...
- 开源UML工具推荐
1.StarUML StarUML是一个开源UML项目,可以开发快速,灵活,可扩展,多功能并且免费的UML/MDA平台.此项目运行在Win32平台之上.StarUML项目的目标是成为RationalR ...
- python基础学习笔记2
词典 词典(dictionary)与列表相似,也可以存储多个元素.存储多个元素的对象称为容器(container); 常见的创建词典的方法: >>>dic = {'tom':11 ...
- 从零开始学 Java - 搭建 Spring MVC 框架
没有什么比一个时代的没落更令人伤感的了 整个社会和人都在追求创新.进步.成长,没有人愿意停步不前,一个个老事物慢慢从我们生活中消失掉真的令人那么伤感么?或者说被取代?我想有些是的,但有些东西其实并不是 ...
- Linux tree命令
Linux tree命令用于以树状图列出目录的内容. 执行tree指令,它会列出指定目录下的所有文件,包括子目录里的文件. 语法 tree [-aACdDfFgilnNpqstux][-I <范 ...
- 十一个行为模式之迭代器模式(Iterator Pattern)
定义: 提供一种方法来访问聚合对象,而不用暴露这个对象的内部表示.使得存储和遍历两个职责相互分离,提高系统的可扩展性. 结构图: Iterator:抽象迭代器类,定义了访问和遍历元素的接口,例如:ne ...
- autocomplete="off" 不起作用
首先来了解一下 表单自动填充的原理,当我们登录的时候,如果选择的记住登录密码,那么后续界面中如果有 <input type="text" name="field1& ...
- 一些有用的SAP技术TCODE
Background Processing RZ01 Job Scheduling Monitor SM36 Schedule Background Job SM36WIZ Job definitio ...
- 学习Coding-iOS开源项目日志(五)
继续,接着前面第四篇<学习Coding-iOS开源项目日志(四)>讲解Coding-iOS开源项目. 前 言:作为初级程序员,想要提高自己的水平,其中一个有效的学习方法就是学习别人好的项目 ...
- arcTo 画 狐行
<!DOCTYPE HTML><head> <meta charset = "utf-8"> <title>starGirl< ...