洛谷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\ ...
随机推荐
- Setting my home here
New here (For no chinese input on this machine, I have to use English.) Why do I choose here ? Whene ...
- spring Mvc + Mybatis 中使用junit
在Spring Mvc + Mybatis的项目中我们有时候需要在测试代码中注入Dao操作数据库,对表进行增删改查,实现如下: 这是一般的maven项目项目结构 测试代码一般写在src/test/ja ...
- Verilog学习笔记简单功能实现(二)...............全加器
先以一位全加器为例:Xi.Yi代表两个加数,Cin是地位进位信号,Cout是向高位的进位信号.列表有: Xi Yi Cin Sum Cout 0 0 0 0 0 0 0 1 1 0 ...
- SqlServer灾备方案(本地)
如果你曾经有那么一个不经意的心跳来自于数据库数据损坏:错误的新增.更新.删除 .那么下面的方案一定能抚平你的创伤! 对于一个数据库小白来说,数据库的任何闪失带来的打击可说都是致命的.最初,我们让一个叫 ...
- 使用CSS3制作立体效果的导航菜单
效果如下: 也可以点击网址查看效果:http://keleyi.com/keleyi/phtml/html5/12.htm 请使用支持CSS3的浏览器访问本页面,获得更好效果. 源代码: <st ...
- H5学习
1.html{font-size:62.5%;}//不用font-size:10px的原因:(因为设了62.5%后就有1rem = 10px,便于用rem来指定元素的尺寸,这样响应式的时候可以直接改变 ...
- css限制单行文本输入,超出部分使用...替换
在实际应用中,经常需要只显示一行文字,不允许文字换行破坏整体样式的情况.例如'商品的名称','简介'等等.但是由于显示器的宽度不一样,会出现后台所给文字内容,一行文本容纳不下的情况.溢出的文本如果使用 ...
- jquery实现导航图轮播
版权声明:作者原创,转载请注明出处! 下面的几个栗子是使用jquery实现Banner轮播的效果,直接将代码贴出来,从最初级没有任何优化和封装的写法,一直到最后一个栗子,一步步进行了优化,加大程序的可 ...
- SuperMap iServer Ubuntu 开机自启动脚本
在/etc/init.d/文件夹里面设置相关的文件 1.为了保证创建文件的读写权限与默认一致,我们只需要cp一个默认的启动文件即可 2.删除iserver里面的所有信息 提示:直接执行“:1,$d” ...
- iOS 疑难杂症— — 收到推送显示后自动消失的问题
声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnblogs.com 农民伯伯: http://over140.cnblogs.com 问题 正在支持 Remote Noti ...