题解:P9788 [ROIR 2020 Day2] 区域规划
题目传送门
洛谷题解
思路
首先我们看下数据范围, \(n <= 3000\) ,范围很小,所以暴力枚举。
于是第一份代码出来了。
#include<bits/stdc++.h>
using namespace std;
int s,a,b,c,d,n,m;
int main()
{
ios::sync_with_stdio(false);
cin.tie(),cout.tie();
cin>>n>>m;
for(a=1;a<=n;a++)
{
for(b=1;b<=n;b++)
{
for(c=1;c<a;c++)
{
for(d=1;d<b;d++)
{
if(a==m||b==m)
continue;
if(a*b-c*d==n)
s++;
}
}
}
}
cout<<s;
}
但是只有37分。
然后考虑优化。
题目最主要的条件是 \(a * b - c * d = n\) 变下形可得 \(n + c * d = a * b\) ,再考虑下范围。
于是第二份代码出来了。
#include<bits/stdc++.h>
using namespace std;
int s,a,b,c,d,n,m;
int main()
{
ios::sync_with_stdio(false);
cin.tie(),cout.tie();
cin>>n>>m;
for(c=n-2;c>=1;c--)
{
for(d=n-c;d>=1;d--)
{
for(a=n-1;a>c;a--)
{
if((n+d*c)%a||(n+d*c)/a<=d)
continue;
b=(n+d*c)/a;
if(a!=m&&b!=m&&a*b-c*d==n)
s++;
}
}
}
cout<<s;
}
但这样写也只有51分
那我们换一种思路。
因为 \(a\) 与 \(b\) 不能等于 \(m\) 所以我们放在前面,减少循环次数。
我们考虑一下 \(a * b\) 的大小。
- 首先 \(a * b - c * d = n\) ,所以\(a * b\)小于 \(n\) 的话直接往下走
另外考虑一下 \(a\) 与 \(b\) 的大小关系。
我们枚举一下,可以发现 \(a\) 与 \(b\) 的值总是在 \(1 \sim n\) 之间。而且当 \(a !=b\) 时,a b c d 与 b a c d 两个顺序都成立,同时c的最小值为 \(max(1,(a*b-n)/b)\) ,于是我们可以这样。
for(a=1;a<=n;a++)
{
if(a==m)
continue;
for(b=a;b<=n;b++)
{
if(b==m||a*b<=n)
continue;
for(c=max(1,(a*b-n)/b);c<a;c++)
{
}
}
}
最后结合题目要求判断就行了。
代码
#include<bits/stdc++.h>
using namespace std;
int s,a,b,c,d,n,m;
int main()
{
ios::sync_with_stdio(false);
cin.tie(),cout.tie();
cin>>n>>m;
for(a=1;a<=n;a++)
{
if(a==m)
continue;
for(b=a;b<=n;b++)
{
if(b==m||a*b<=n)
continue;
for(c=max(1,(a*b-n)/b);c<a;c++)
{
d=a*b-n;
if(d%c!=0||d/c>=b)
continue;
s++;
if(a!=b)
s++;
}
}
}
cout<<s;
}
题解:P9788 [ROIR 2020 Day2] 区域规划的更多相关文章
- 【题解】P4799[CEOI2015 Day2]世界冰球锦标赛
[题解][P4799 CEOI2015 Day2]世界冰球锦标赛 发现买票顺序和答案无关,又发现\(n\le40\),又发现从后面往前面买可以通过\(M\)来和从前面往后面买的方案进行联系.可以知道是 ...
- 题解 P4799 【[CEOI2015 Day2]世界冰球锦标赛】
题解 P4799 [[CEOI2015 Day2]世界冰球锦标赛] 双向搜索好题 传送门 实际上,双向搜索就是把\(a^n\)的复杂度转变成了大多为\(O(nlogna^{\frac{n}{2}})\ ...
- P7362 [eJOI 2020 Day2] XOR Sort
P7362 [eJOI 2020 Day2] XOR Sort 题意 给你一个长度为 \(n\) 的序列,每次操作可以将一个数异或上相邻的一个数,求将序列改为严格单调递增序列或严格单调不降序列的操作次 ...
- 「JOISC 2020 Day2」变态龙之色 题解
题目传送门 注意 同性必定不同色 必有一个同色异性,且不相互不喜欢 Solution 我们发现,我们问题比较大的就是如何确定性别问题.我们可以一个一个加进去,在原来已经确定了的二分图上增加新的性别关系 ...
- 2020 CCPC-Wannafly Winter Camp Day2
2020 CCPC-Wannafly Winter Camp Day2 A 托米的字符串 虽然每个子串出现的概率是相同的,但是同一长度的子串个数是不同的,所以要分别处理.计算出某一长度的情况下,元音字 ...
- NOIP2013 DAY2题解
DAY2 T1积木大赛 传送门 题目大意:每次可以选区间[l,r]加1,最少选几次,让每个位置有 它应有的高度. 题解:O(n)扫一遍就好了.后一个比前一个的高度低,那么前一个已经把它覆盖了, 如果高 ...
- CSP-J 2020题解
CSP-J 2020题解 本次考试还是很有用的,至少把我浇了一盆冷水. 当使用民间数据自测的时候,我就自闭了. 估分是320,但有些比较低级的错误直接少掉80. 而且这套题应该上350才正常吧,也不是 ...
- 题解 P6622 [省选联考 2020 A/B 卷] 信号传递
洛谷 P6622 [省选联考 2020 A/B 卷] 信号传递 题解 某次模拟赛的T2,考场上懒得想正解 (其实是不会QAQ), 打了个暴力就骗了\(30pts\) 就火速溜了,参考了一下某位强者的题 ...
- M-SOLUTIONS Programming Contest 2020 题解
M-SOLUTIONS Programming Contest 2020 题解 目录 M-SOLUTIONS Programming Contest 2020 题解 A - Kyu in AtCode ...
- 二模Day2题解
小明搬家 题目描述 小明要搬家了,大家都来帮忙. 小明现在住在第N楼,总共K个人要把X个大箱子搬上N楼. 最开始X个箱子都在1楼,但是经过一段混乱的搬运已经乱掉了.最后大家发现这样混乱地搬运过程效率太 ...
随机推荐
- 【转载】 四轴PID算法:单环和串级
原文地址: http://m.elecfans.com/article/1122372.html --------------------------------------------------- ...
- 自然语言处理:通过API调用各大公司的机器翻译开放平台
国内大公司做机器翻译做的比较好的有讯飞和百度,这里给出这两个公司机器翻译的开放平台API的介绍: 讯飞开放平台: 链接:https://www.xfyun.cn/doc/nlp/xftrans_new ...
- EDI企业订单报文系统——冷链物流管理系统——低代码的应用
参考: 驳"低代码开发取代程序员"论 为什么专业开发者也需要低代码? =========================================== 推荐视频: https ...
- golang 指定权限是 0o755 而不是 0755
在Go语言中,当指定文件权限时,使用前缀 0o 来明确表示八进制数是一种推荐的做法. 这是因为在Go语言中,八进制字面量必须以 0o 或 0O 开头,后跟八进制数字(0-7). 这种语法是从 Go 1 ...
- AI编程助手那些事儿
最近跟身边的程序员老杆子讨论需求时,惊奇的发现,他居然没使用AI编程助手.一时间有2个想法从大脑闪过,然后心里还带了一丝轻蔑: AI编程助手这么好的东西,你居然不用. 作为老程序员,你居然不跟上时代步 ...
- 解决Perforce lua文件utf-8 with bom
设置typemap,将lua文件定义为unicode
- JSP的文件上传和下载
文件的上传和下载 文件的上传和下载,是非常常见的功能.很多的系统中,或者软件中都经常使用文件的上传和下载. 比如:微信头像,就使用了上传. 邮箱中也有附件的上传和下载功能. 文件的上传介绍 1.要有一 ...
- 【YashanDB知识库】开源调度框架Quartz写入Boolean值到YashanDB报错
问题现象 Quartz 是一个广泛应用于企业级应用中的开源作业调度框架,它主要用于在Java环境中管理和执行任务. 为了任务调度,Quartz的数据模型中使用了大量的布尔值记录任务.流程的各种状态,如 ...
- hashmap组成原理及调用时机
整个HashMap中最重要的点有四个:初始化,数据寻址-hash方法,数据存储-put方法,扩容-resize方法,只要理解了这四个点的原理和调用时机,也就理解了整个HashMap的设计. 如果有疑惑 ...
- 使用 nuxi preview 命令预览 Nuxt 应用
title: 使用 nuxi preview 命令预览 Nuxt 应用 date: 2024/9/8 updated: 2024/9/8 author: cmdragon excerpt: 摘要:本文 ...