洛谷 P1076 寻宝(模拟 && 剪枝)
嗯...
题目链接:https://www.luogu.org/problem/P1076
这道题的题意首先太难理解...并且细节太多...
可以用b[i][j]记录每个指示牌上的数字,a[i][j]记录是否有楼梯。那我们开一个ans,每次到达一个门就ans+=a[i][j](如果有楼梯,a[i][j]=1,ans就加了1,如果没有楼梯,a[i][j]=0,ans加的就是0,相当于没加),当ans=一开始指示牌上的数字时,退出循环。
————并且正解要剪枝——————
用c[i]记录第i层一共的楼梯数,每次循环时,若b[i][j]的数字大于这层楼的总楼梯数,则将b[i][j] % c[i](相当于他已经走了b[i][j] / c[i]圈了),这可以避免很多不必要计算。
AC代码:
#include<cstdio>
#include<iostream> using namespace std; int n, m, a[][], b[][], sum, k, ans, q, c[]; int main(){
scanf("%d%d", &n, &m);
for(int i = ; i <= n; i++){
for(int j = ; j < m; j++){
scanf("%d%d", &a[i][j], &b[i][j]);
c[i] += a[i][j];
}
}
scanf("%d", &k);
for(int i = ; i <= n; i++){
sum += b[i][k];
ans = ;
q = k;
b[i][q] = (b[i][q] - ) % c[i] + ;
while(ans < b[i][q]){
ans += a[i][k];
if(ans == b[i][q]) break;
k++;
if(k == m) k = ;
}
}
printf("%d\n", sum % );
return ;
}
AC代码
洛谷 P1076 寻宝(模拟 && 剪枝)的更多相关文章
- 洛谷 P1076 寻宝 解题报告
P1076 寻宝 题目描述 传说很遥远的藏宝楼顶层藏着诱人的宝藏.小明历尽千辛万苦终于找到传说中的这个藏宝楼,藏宝楼的门口竖着一个木板,上面写有几个大字:寻宝说明书.说明书的内容如下: 藏宝楼共有\( ...
- 洛谷P1076 寻宝
寻宝 模拟加优化,细节比较重要. 我们用ti[i]表示i这一层有楼梯的个数,然后我们把当前1号点的数据mod上ti[i],然后使该数不能等于0,就行了. #include <bits/stdc+ ...
- 洛谷 P1076 寻宝 题解
今天又TM考试了...... 这是T1,然后我模拟20分滚粗. Analysis 在每层的时候用编号%这层可以上楼的房间个数就行了. #include<iostream> #include ...
- 洛谷 P5046 [Ynoi2019 模拟赛] Yuno loves sqrt technology I(分块+卡常)
洛谷题面传送门 zszz,lxl 出的 DS 都是卡常题( 首先由于此题强制在线,因此考虑分块,我们那么待查询区间 \([l,r]\) 可以很自然地被分为三个部分: 左散块 中间的整块 右散块 那么这 ...
- AC日记——导弹拦截 洛谷 P1020 (dp+模拟)
题目描述 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度.某天,雷达捕捉到敌国的导弹 ...
- AC日记——潜伏者 洛谷 P1071 (模拟)
题目描述 R 国和 S 国正陷入战火之中,双方都互派间谍,潜入对方内部,伺机行动.历尽艰险后,潜伏于 S 国的 R 国间谍小 C 终于摸清了 S 国军用密码的编码规则: 1. S 国军方内部欲发送的原 ...
- 【洛谷】【搜索+剪枝】P1731 [NOI1999]生日蛋糕
[题目背景:] 7月17日是Mr.W的生日,ACM-THU为此要制作一个体积为Nπ的M层生日蛋糕,每层都是一个圆柱体. [题目描述:] 设从下往上数第i(1<=i<=M)层蛋糕是半径为Ri ...
- 洛谷P3952 时间复杂度(模拟)
题意 题目链接 Sol 咕了一年的题解..就是个模拟吧 考场上写的递归也是醉了... 感觉一年自己进步了不少啊..面向数据编程的能力提高了不少 #include<bits/stdc++.h> ...
- 洛谷 - P3952 - 时间复杂度 - 模拟
https://www.luogu.org/problemnew/show/P3952 这个模拟,注意每次进入循环的时候把新状态全部入栈,退出循环的时候就退栈. 第一次就错在发现ERR退出太及时,把剩 ...
随机推荐
- TD - 数据验证
基本方法 this.assetCounts.focus();//聚焦 this.btnSave.cancel();//按钮取消 this.assetPerson.isValid()//是否有效,tru ...
- 基于Java+HttpClient+TestNG的接口自动化测试框架(八)------ 针对文件的处理
在实际的接口测试中,有时需要根据情况进行文件的上传和下载.在文件数量比较小的时候,我们当然可以直接处理(比如若干个接口都用一个文件).但是,如果我们上传的文件需要使用不同文件夹里不同的文件,而且数量又 ...
- Educational Codeforces Round 80 A-E简要题解
contest链接:https://codeforces.com/contest/1288 A. Deadline 题意:略 思路:根据题意 x + [d/(x+1)] 需要找到一个x使得上式小于等于 ...
- 分组拼接字符串,GROUP_CONCAT
背景 一年过的很快,文中后来的两位员工 馮大 和 馮二 也要面对无情的 KPI 考核了,他们工作干的很不错,performance 分别是 4 和 5 新需求来了,静悄悄的来了!!! 领导想要查看每个 ...
- python面试的100题(4)
4.打乱一个排好序的list对象alist? import random alist = [1,2,3,4,5] random.shuffle(alist) print(alist) 结果为:[2, ...
- mybatis(六):设计模式 - 建造者模式
- 阻塞队列BlockingQueue之ASynchronousQueue
一.SynchronousQueue简介 Java 6的并发编程包中的SynchronousQueue是一个没有数据缓冲的BlockingQueue,生产者线程对其的插入操作put必须等待消费者的移除 ...
- Java初识与配置环境
Java初识 Java简介 Java是一门面向对象的程序设计语言.功能强大并且简单易用,极好的实现了面向对象理论.允许程序以类似人类的思维方式进行复杂的编程. Java具有简单性.面向对象.分布式.健 ...
- webpack4.41.0配置二(加载器_url-loader/babel-loader/sass-loader)
loader是webpack用来预处理源文件的,比如typesrcipt形式的文件最终都得转成浏览器可以执行的js文件 (注:以下的配置代码不一定与下方一摸一样,具体与官网上https://webpa ...
- Java 字符串、数值与16进制相互转化
字符串.数值与16进制相互转化 首先创建一个工具类: package c; public class DataUtils { /* * 字节数组转16进制字符串 */ public static St ...