P1478 陶陶摘苹果(升级版)

题目链接:https://www.luogu.com.cn/problem/P1478

题目大意:陶陶有s点体力值,每个苹果消耗体力值,问s体力值最多能摘多少苹果。

解题思路:首先过滤掉摘不到的苹果。其次从小到大排序, 贪心 思想:优先选择消耗体力值小的苹果。

实现代码如下:

#include <bits/stdc++.h>
using namespace std;
const int maxn = 5050;
int n, m, s, a, b, x[maxn], y[maxn], ans;
int main() {
cin >> n >> s >> a >> b;
a += b;
while (n --) {
cin >> x[m] >> y[m];
if (x[m] <= a) m ++;
}
sort(y, y+m);
for (int i = 0; i < m; i ++) {
if (y[i] <= s) {
s -= y[i];
ans ++;
}
else break;
}
cout << ans << endl;
return 0;
}

P1618 三连击(升级版)

题目链接:https://www.luogu.com.cn/problem/P1618

题目大意:求出所有壁纸为A:B:C的三位数。

解题思路:遍历第一个数,判断后两个数是否都是三位数且刚好这三个数从1到9。

实现代码如下:

#include <bits/stdc++.h>
using namespace std;
int A, B, C;
bool t[10];
bool check(int a) {
if (a % A) return false;
int b = a/A*B, c = a/A*C;
if (b >= 1000 || c >= 1000) return false;
int d = a * 1000000 + b * 1000 + c;
memset(t, 0, sizeof(t));
while (d) {
t[d%10] = true;
d /= 10;
}
for (int i = 1; i < 10; i ++) if (!t[i]) return false;
return true;
}
int main() {
cin >> A >> B >> C;
bool flag = false;
for (int a = 123; a < 333; a ++) {
if (check(a)) {
flag = true;
cout << a << " " << a/A*B << " " << a/A*C << endl;
}
}
if (!flag) puts("No!!!");
return 0;
}

P1579 哥德巴赫猜想(升级版)

题目链接:https://www.luogu.com.cn/problem/P1579

题目大意:给你一个数,找三个素数使得它们的和是这个数。

解题思路:数据量偏大,所以采用素数筛法,然后再枚举。

实现代码如下:

#include <bits/stdc++.h>
using namespace std;
const int maxn = 20020;
bool pp[maxn];
int n, a, p[maxn];
void init() {
pp[0] = pp[1] = true;
for (int i = 2; i < maxn; i ++)
if (!pp[i]) {
p[n++] = i;
for (int j = i; j < maxn/i; j ++) pp[i*j] = true;
}
}
int main() {
init();
cin >> a;
for (int i = 0; i < n; i ++)
for (int j = i; j < n; j ++) {
if (p[i] + p[j] >= a) continue;
if (!pp[a- p[i] - p[j] ]) {
cout << p[i] << " " << p[j] << " " << a-p[i]-p[j] << endl;
return 0;
}
}
return 0;
}

P2089 烤鸡

题目链接:

题目大意:

猪猪Hanke特别喜欢吃烤鸡(本是同畜牲,相煎何太急!)Hanke吃鸡很特别,为什么特别呢?因为他有10种配料(芥末、孜然等),每种配料可以放1—3克,任意烤鸡的美味程度为所有配料质量之和

现在,Hanke想要知道,如果给你一个美味程度,请输出这10种配料的所有搭配方案

解题思路:枚举出所有的状态方案。因为直接枚举得开好多循环,所以我可以采用类似 状态压缩 的思想,每个状态对应一个三进制数,然后三进制数的每一位对应10个数字,这样比较好解决一些。

实现代码如下:

#include <bits/stdc++.h>
using namespace std; int a[10], n, res; int main() {
cin >> n;
if (n < 10 || n > 30) {
puts("0");
return 0;
}
n -= 10;
for (int i = 0; i < 59049; i ++) {
int tmp = i, cnt = 0;
for (int j = 9; j >= 0; j --) {
a[j] = tmp % 3;
tmp /= 3;
cnt += a[j];
}
if (cnt == n) res ++;
}
cout << res << endl;
for (int i = 0; i < 59049; i ++) {
int tmp = i, cnt = 0;
for (int j = 9; j >= 0; j --) {
a[j] = tmp % 3;
tmp /= 3;
cnt += a[j];
}
if (cnt != n) continue;
for (int j = 0; j < 10; j ++) {
if (j) putchar(' ');
cout << a[j]+1;
}
cout << endl;
}
return 0;
}

洛谷训练新手村之“BOSS战-入门综合练习1”题解的更多相关文章

  1. 洛谷训练新手村之“BOSS战-入门综合练习2”题解

    P1426 小鱼会有危险吗 题目链接:https://www.luogu.com.cn/problem/P1426 题目大意: 有一次,小鱼要从A处沿直线往右边游,小鱼第一秒可以游7米,从第二秒开始每 ...

  2. 洛谷-小鱼会有危险吗-BOSS战-入门综合练习2

    题目描述 Description 有一次,小鱼要从A处沿直线往右边游,小鱼第一秒可以游7米,从第二秒开始每秒游的距离只有前一秒的98%.有个极其邪恶的猎人在距离A处右边s米的地方,安装了一个隐蔽的探测 ...

  3. 洛谷-烤鸡-BOSS战-入门综合练习1

    题目背景 Background 猪猪hanke得到了一只鸡  题目描述 Description 猪猪Hanke特别喜欢吃烤鸡(本是同畜牲,相煎何太急!)Hanke吃鸡很特别,为什么特别呢?因为他有10 ...

  4. 洛谷-陶陶摘苹果(升级版)-BOSS战-入门综合练习1

    题目描述 Description 又是一年秋季时,陶陶家的苹果树结了n个果子.陶陶又跑去摘苹果,这次她有一个a公分的椅子.当他手够不着时,他会站到椅子上再试试. 这次与NOIp2005普及组第一题不同 ...

  5. 洛谷-哥德巴赫猜想(升级版)-BOSS战-入门综合练习1

    题目背景 Background 1742年6月7日哥德巴赫写信给当时的大数学家欧拉,正式提出了以下的猜想:任何一个大于9的奇数都可以表示成3个质数之和.质数是指除了1和本身之外没有其他约数的数,如2和 ...

  6. 洛谷-三连击(升级版)-BOSS战-入门综合练习1

    题目描述 Description 将1,2,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数构成A:B:C的比例,试求出所有满足条件的三个三位数,若无解,输出“No!!!”.  输入输出格 ...

  7. 【Luogu】【关卡1-8】BOSS战-入门综合练习2(2017年10月)【AK】------都是基础题

    P1426 小鱼会有危险吗 我个人觉得这个题目出的不好,没说明白,就先只粘贴的AC代码吧 #include <bits/stdc++.h> using namespace std; int ...

  8. 【洛谷P2584】【ZJOI2006】GameZ游戏排名系统题解

    [洛谷P2584][ZJOI2006]GameZ游戏排名系统题解 题目链接 题意: GameZ为他们最新推出的游戏开通了一个网站.世界各地的玩家都可以将自己的游戏得分上传到网站上.这样就可以看到自己在 ...

  9. 洛谷4525 & 4526:【模板】自适应辛普森法——题解

    参考:https://phqghume.github.io/2018/05/19/%E8%87%AA%E9%80%82%E5%BA%94%E8%BE%9B%E6%99%AE%E6%A3%AE%E6%B ...

随机推荐

  1. Android 高仿新浪微博底部导航栏,实现双击首页Tab,页面的ListView滚动、刷新

    现在很多APP,如微信.QQ.微博等等,它们的主页面都无一例外的选择使用底部Tab导航, 通过这种方式,可以很好的把页面层级分化,很好的提高用户体验.相信,很多Android开发者,都使用到过这种经典 ...

  2. EC round 33 D. Credit Card 贪心

    因为到为0的点,充钱的范围都是不确定的,我们维护一个满足条件的最小值以及满足条件的最大值. 当min>d时,代表已经满足条件限制了 当a[ i ] = 0 并且 max<0,代表需要充钱, ...

  3. hdu 5744 Keep On Movin (2016多校第二场)

    Keep On Movin Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Tot ...

  4. 最优化方法系列:Adam+SGD-AMSGrad 重点

    https://blog.csdn.net/wishchin/article/details/80567558 自动调参的Adam方法已经非常给力了,不过这主要流行于工程界,在大多数科学实验室中,模型 ...

  5. 用户注册页的布局及js逻辑实现(正则,注册按钮)

    文章地址:https://www.cnblogs.com/sandraryan/ 先写一个简单的静态页面,然后对用户输入的内容进行验证,判断输入的值是否符合规则,符合规则进行注册 先上静态页面 < ...

  6. oracle sum()聚合函数

    原文链接:https://blog.csdn.net/cizatu5130/article/details/100291347 oracle sum()聚合函数 2016-05-13 20:08:00 ...

  7. Python--day41--事件和信号量之模拟连接数据库并在连接三次后抛出连接超时异常

    #事件被创建的时候#False状态 #wait()阻塞#True状态 #wait() 非阻塞#clear 设置状态为False#set 设置状态为True #数据库 --- 文件夹#文件夹里有好多ex ...

  8. Mail.Ru Cup 2018 Round 2 C. Lucky Days(拓展欧几里得)

    传送门 待参考资料: [1]:https://www.cnblogs.com/Patt/p/9941200.html •题意 a君,b君存在幸运周期: a君在第[ L1+k·t1,R1+k·t1]天为 ...

  9. 【p082】排座椅

    Time Limit: 1 second Memory Limit: 50 MB [问题描述] 上课的时候总有一些同学和前后左右的人交头接耳,这是令小学班主任十分头疼的一件事情.不过,班主任小雪发现了 ...

  10. 转 最近5年183个Java面试问题列表及答案[最全]

    Java 面试随着时间的改变而改变.在过去的日子里,当你知道 String 和 StringBuilder 的区别(String 类型和 StringBuffer 类型的主要性能区别其实在于 Stri ...