NOIp (on line) 入门组 2020 总结
得分情况 :
估分:
100+30+30=160;
实际:
95+70+25=190;
T1 :
题意:
有n块钱,买三种文具,分别为 a:7元、b:4元、c:3元,问怎么买能让n元钱全部用完,而且使 min(a,b,c) 最大,满足以上条件后再使a+b+c最大。如果钱无论如何都用不完就输出-1。
数据范围:
1≤n≤105
分析:
直接暴力!!!
分别枚举a,b,c,输出最佳结果。
但光枚举肯定会爆掉,要优化一下。我们看到n元必须全部用完,那么就只枚举a,b,再通过 c=(n-a*7-b*4)/3 算出c。因为钱必须用完,所以 (n-a*7-b*4)/3 应该没有余数。
接下来我们再把a和b的枚举过程优化,总价钱肯定不能超n,所以a得从0枚举到n/7,剩下的钱就枚举b了,所以b的从0枚举到n-a*7。结束。
代码如下:
//我的代码 95分 #include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std; int main()
{
int n,Min=,ra,rb,rc,res=;
scanf("%d",&n);
for(int a=;a*<=n;a++)
{
for(int b=;b*<=n-a*;b++)
{
if((n-(*a+*b))%==)
{
int c=(n-(*a+*b))/;
int i=min(min(a,b),c),j=a+b+c;
if(i>Min)
{
Min=i,res=j;
ra=a,rb=b,rc=c;
}
else if(i==Min&&j>res)
{
res=j;
ra=a,rb=b,rc=c;
} }
}
}
if(n==) puts("0 0 0");
else
if(!Min&&!res) puts("-1");
else
printf("%d %d %d",ra,rb,rc);
} //我的满分代码
//说实话 没看出有啥不同 #include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std; int main()
{
int n,Min=,ra,rb,rc,res=;
scanf("%d",&n);
for(int a=;a*<=n;a++)
{
for(int b=;b*<=n-a*;b++)
{
if((n-(*a+*b))%==)
{
int c=(n-(*a+*b))/;
int i=min(min(a,b),c),j=a+b+c;
if(i>Min)
{
Min=i,res=j;
ra=a,rb=b,rc=c;
}
else if(i==Min&&j>res)
{
res=j;
ra=a,rb=b,rc=c;
} }
}
}
if(n==) puts("0 0 0");
else
if(!Min&&!res) puts("-1");
else
printf("%d %d %d",ra,rb,rc);
}
T2:
数据太大,只会用DP骗一下分。QAQ
T3:
不会,只会写正常的最短路。QAQ
~END~
NOIp (on line) 入门组 2020 总结的更多相关文章
- NOIp ( on line ) 提高组 2020 总结
T1 : 序列 题意: 一共有T组数据,每组数据有两个长度为n的序列a,b,m个操作,问a序列是否可以转换成b,是输出YES,否的话输出NO. m个操作分别为ti,xi,yi,若t为1,则x和y上的数 ...
- 【NOI Online 2020】入门组 总结&&反思
前言: 这次的NOI Online 2020 入门组我真的无力吐槽CCF的网站了,放段自己写的diss的文章,供一乐 如下:(考试后当天晚上有感而发) 今天是个好日子!!!(我都经历了什么...... ...
- NOI ONLINE 入门组 魔法 矩阵快速幂
做了这道题我才发现NOI入门组!=NOIP普及组 题目链接 https://www.luogu.com.cn/problem/P6190 题意 给出一张有向图,你有K次机会可以反转一条边的边权,即让它 ...
- Codevs 1069 关押罪犯 2010年NOIP全国联赛提高组
1069 关押罪犯 2010年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description S 城现有两座监狱,一共 ...
- Codevs 1218 疫情控制 2012年NOIP全国联赛提高组
1218 疫情控制 2012年NOIP全国联赛提高组 时间限制: 2 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description H 国有 n 个城市,这 ...
- Codevs 3289 花匠 2013年NOIP全国联赛提高组
3289 花匠 2013年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description 花匠栋栋种了一排花,每株花都 ...
- Codevs 1173 最优贸易 2009年NOIP全国联赛提高组
1173 最优贸易 2009年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description [问题描述] C 国有n ...
- Codevs 3731 寻找道路 2014年 NOIP全国联赛提高组
3731 寻找道路 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 在有向图G中,每条边的长度均为1,现给定起点和终点,请你在图中找 ...
- Codevs 1138 聪明的质监员 2011年NOIP全国联赛提高组
1138 聪明的质监员 2011年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 小 T 是一名质量监督员, ...
随机推荐
- Java实现 蓝桥杯VIP 算法提高 解二元一次方程组
算法提高 解二元一次方程组 时间限制:1.0s 内存限制:256.0MB 问题描述 给定一个二元一次方程组,形如: a * x + b * y = c; d * x + e * y = f; x,y代 ...
- 02 . Tomcat集群会话共享
redis简介 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sor ...
- 关于nginx的源码安装方式
Nginx(engine x)是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的 Web和 反向代理 服务器, 也是一个 IMAP/POP3/SMTP 代理服务器.在高连接并发的情况下, ...
- 小波学ItDay01--开始学习Servlet
曾经想过许多的开场白,有热血的,有励志的,最后思前想后还是用这句话开篇吧! 生活不会亏待每一个愿意努力的人-------<摘自某微信群的语录> 今天第一天,结合自己的进度开始学习Servl ...
- jsp页面用DBHelper实现简单的登陆验证
首先我们需要写一个简单的登陆页面login.jsp,然后用from表单提交给index.jsp页面.在index.jsp页面通过DBHelper连接数据库判断账号和密码,如果密码正确则显示登陆成功. ...
- 掌握SpringBoot-2.3的容器探针:深入篇
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:原创分类汇总及配套源码,涉及Java.Docker.K8S.DevOPS等 关于<Spr ...
- 利用java从docx文档中提取文本内容
利用java从docx文档中提取文本内容 使用Apache的第三方jar包,地址为https://poi.apache.org/ docx文档内容如图: 目录结构: 每个文件夹的名称为日期加上来源,例 ...
- 通过数据库客户端界面工具DBeaver连接Hive
前言 本文讲解如何通过数据库客户端界面工具DBeaver连接hive,并解决驱动下载不下来的问题. 1.为什么使用客户端界面工具 为什么使用客户端界面工具而不用命令行使用hive 通过界面工具查看分析 ...
- c常用函数-sprintf
sprintf sprinti函数的作用是把一个字符串格式化后输入到另一个字符串中,然后返回写入的·字符数量. Sprinf在用法上和1.2.3节的prinf函数一致,区别是sprintf输出结果到指 ...
- 03 . Jenkins构建之代码扫描
Sonar简介 Sonar 是一个用于代码质量管理的开放平台.通过插件机制,Sonar可以集成不同的测试工具,代码分析工具,以及持续集成工具.与持续集成工具(例如 Hudson/Jenkins 等)不 ...