Luogu P1311 选择客栈
暴力
我一开始做这道题先想到的就是暴力。。。
所以先说一下暴力的做法。首先在输入的时候讲花费小于P的位置标记下来,然后用两层循环枚举所有的两个客栈的组合方案。再用一层循环将两个客栈之间的位置扫一遍,如果有被标记过得位置证明这种方案是可行的。将其统计下来。
暴力的代码
#include <iostream>
#include <cstring>
#include <cstdio>
#include <cstring> const int maxn = 2e5+;
const int maxk = ; using namespace std; int x, f; char c; inline int read() {
x = , f = ;
c = getchar();
while (c < '' || c > '') {
if(c == '-') f = -;
c = getchar();
}
while (c <= '' && c >= '') {
x = x* + c-'';
c = getchar();
}
return x * f;
} int n, k, p, col[maxn], cost[maxn], Ans;
bool book[][]; int main() {
n = read(), k = read(), p = read();
for(int i=; i<=n; i++) {
col[i] = read();
cost[i] = read();
}
for(int i=; i<=n; i++) {
for(int j=i+; j<=n; j++) {
for(int k=i; k<=j; k++) {
if(cost[k] <= p) {
book[i][j] = true;
}
}
}
}
for(int i=; i<=n; i++) {
for(int j=i+; j<=n; j++) {
if(book[i][j] == true && col[i] == col[j]) {
Ans++;
}
}
}
printf("%d", Ans);
}
暴力
正解
我们边输入边做处理,考虑用一个cnt[i]表示颜色为i的客栈在当前位置之前有多少个同样颜色的客栈。用一个now表示最后一家花费小于等于P的咖啡店的位置。再用一个last[i]表示最后一家颜色为i的客栈的位置。显然,如果last[i]小于等于now,那就说明当前位置上的客栈可以和之前的所有颜色为i的客栈组合,否则就继续往后扫。重复这些操作,沿途统计有多少种组合
正解的代码
#include <cstdio> const int maxk = ; using namespace std; int x, f; char c; inline int read() {
x = , f = ;
c = getchar();
while (c < '' || c > '') {
if(c == '-') f = -;
c = getchar();
}
while (c <= '' && c >= '') {
x = x* + c-'';
c = getchar();
}
return x * f;
} int n, k, p, now, color, cost, Ans, cnt[maxk], sum[maxk], last[maxk]; int main() {
n = read(), k = read(), p = read();
for(int i=; i<=n; i++) {
color = read();
cost = read();
if(cost <= p)
now = i;
if(now >= last[color])
sum[color] = cnt[color];
Ans += sum[color];
last[color] = i;
cnt[color]++;
}
printf("%d", Ans);
}
Luogu P1311 选择客栈的更多相关文章
- Luogu P1311 选择客栈(前缀和)
P1311 选择客栈 题意 题目描述 丽江河边有\(n\)家很有特色的客栈,客栈按照其位置顺序从\(1\)到\(n\)编号.每家客栈都按照某一种色调进行装饰(总共\(k\)种,用整数\(0\)~\(k ...
- 2011 luogu P1311 选择客栈
题目描述 丽江河边有 nn 家很有特色的客栈,客栈按照其位置顺序从 1 到 n 编号.每家客栈都按照某一种色调进行装饰(总共 k 种,用整数 0 ~ k-1 表示),且每家客栈都设有一家咖啡店,每家咖 ...
- [NOIp2011] luogu P1311 选择客栈
我妈的抽象歌曲真 nb. 题目描述 给你 nnn 个点,每个点有两个参数 ci,dic_i,d_ici,di,给你一个数 DDD.定义一种方案合法,当且仅当你选出整数 i,j∈[1,n],i< ...
- 洛谷 P1311 选择客栈 解题报告
P1311 选择客栈 题目描述 丽江河边有 \(n\) 家很有特色的客栈,客栈按照其位置顺序从 \(1\) 到 \(n\) 编号.每家客栈都按照某一种色调进行装饰(总共 \(k\) 种,用整数 \(0 ...
- 洛谷P1311 选择客栈
P1311 选择客栈 题目描述 丽江河边有n 家很有特色的客栈,客栈按照其位置顺序从 1 到n 编号.每家客栈都按照某一种色调进行装饰(总共 k 种,用整数 0 ~ k-1 表示),且每家客栈都设有一 ...
- 洛谷 P1311 选择客栈 —— 水题
题目:https://www.luogu.org/problemnew/show/P1311 看每个位置能否成为咖啡店,然后作为客栈和前面配对即可. 代码如下: #include<iostrea ...
- 洛谷——P1311 选择客栈
https://www.luogu.org/problem/show?pid=1311 题目描述 丽江河边有n 家很有特色的客栈,客栈按照其位置顺序从 1 到n 编号.每家客栈都按照某一种色调进行装饰 ...
- [NOIP2011] 提高组 洛谷P1311 选择客栈
题目描述 丽江河边有n 家很有特色的客栈,客栈按照其位置顺序从 1 到n 编号.每家客栈都按照某一种色调进行装饰(总共 k 种,用整数 0 ~ k-1 表示),且每家客栈都设有一家咖啡店,每家咖啡店均 ...
- 【洛谷】【st表+模拟】P1311 选择客栈
[题目描述:] 丽江河边有n 家很有特色的客栈,客栈按照其位置顺序从 1 到n 编号.每家客栈都按照某一种色调进行装饰(总共 k 种,用整数 0 ~ k-1 表示),且每家客栈都设有一家咖啡店,每家咖 ...
随机推荐
- 使用-Wl直接向ld传递参数
gcc -Wl, key1, value1, key2, value2, key3, value3 包括-Wl在内全部都是以逗号分隔. 上面等价于: ld key1=value1 key2=value ...
- Android系统定制----删除系统锁屏功能【转】
本文转载自:http://blog.csdn.net/morixinguan/article/details/56675914 frameworks/base/packages/SettingsPro ...
- bzoj 1497(最大权闭合子图)
1497: [NOI2006]最大获利 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 6410 Solved: 3099[Submit][Status] ...
- vue的学习网址
Vue官网:http://cn.vuejs.org/v2/guide/index.html 淘宝镜像:http://npm.taobao.org/ Vue-router:https://router. ...
- 转贴:获取元素CSS值之getComputedStyle方法熟悉
获取元素CSS值之getComputedStyle方法熟悉 一.碎碎念~前言 我们都用过jQuery的CSS()方法,其底层运作就应用了getComputedStyle以及getPropertyVal ...
- Java DAO模式
DAO模式: DAO(DateAccessObject,数据存取对象) 位于业务逻辑和持久化数据之间,实现对持久化数据的访问. DAO组成: DAO接口: 数据库的所有操作定义成抽象方法,可以提供多种 ...
- Avito Code Challenge 2018 A~E
A. Antipalindrome 还以为是什么神dp结果就是分情况讨论啊 原串是一串一样的字符的话输出0,是回文串的话输出n-1,否则直接输出原串长度 #include<iostream> ...
- 清北考前刷题da5下午好
/* (4,1)*(3,1)*(2,1)的话1变成2然后一直是2 2变成1然后变成3 3变成1然后变成4 4变成1 */ #include<iostream> #include<cs ...
- UnicodeEncodeError: ‘ascii’ codec can’t encode character u’\u8888′ in position 0: ordinal not in range(168)
python保存文件UnicodeEncodeError以及reload(sys)后print失效问题 在将字符串写入文件时,执行f.write(str),后台总是报错:UnicodeEncodeEr ...
- [JOI2014] 小笼包
题面 : https://www.ioi-jp.org/joi/2013/2014-yo/2014-yo-t6/2014-yo-t6.html 题解 dp + 康托展开 一看这题不知道怎么处理 只能枚 ...