Masquerade strikes back Gym - 101911D(补题) 数学
https://vjudge.net/problem/Gym-101911D
具体思路:
对于每一个数,假设当前的数是10 分解 4次,首先 1 10 这是一对,然后下一次就记录 10 1,这样的话直接每一个数跑到这个数的一半就可以了,还有一个优化,用一个数组(map会超时)记录当前这个数的分解已经到了哪个地方了。
AC代码:
#include<iostream>
#include<stack>
#include<queue>
#include<map>
#include<stdio.h>
#include<algorithm>
#include<cmath>
using namespace std;
# define inf 0x3f3f3f3f
# define ll long long
# define maxn 200000+1000
int q[10000000+10];
int q2[10000000+10];
int a[maxn];
struct node
{
int x,y;
} ans[maxn];
int main()
{
int n;
scanf("%d",&n);
for(int i=1; i<=n; i++)
{
scanf("%d",&a[i]);
}
int flag=1;
for(int i=1; i<=n; i++)
{
int k=0;
if(q2[a[i]]>0)//如果说当前的数可以有直接能用的,直接用就可以了。比如说举得例子,1 10 ,这个时候10 1 也是肯定能用的。
{
int t1=q2[a[i]];
int t2=a[i]/t1;
ans[i].x=t1;
ans[i].y=t2;
q2[a[i]]=0;//取消标记
k=1;
}
else
{
while(1)
{
q[a[i]]++;
if(q[a[i]]*q[a[i]]>a[i])//如果超过了这个数的根号下的话,后面肯定没有合适的了/。
{
flag=0;
break;
}
if(a[i]%q[a[i]]==0)
{
ans[i].x=q[a[i]];
ans[i].y=a[i]/q[a[i]];
if(ans[i].x!=ans[i].y)。。不要记录重复的
q2[a[i]]=a[i]/q[a[i]];
k=1;
break;
}
}
}
if(k==0)flag=0;
if(flag==0)break;
}
if(flag==0)
{
printf("NO\n");
}
else
{
printf("YES\n");
for(int i=1; i<=n; i++)
{
printf("%d %d\n",ans[i].x,ans[i].y);
}
}
return 0;
}
Masquerade strikes back Gym - 101911D(补题) 数学的更多相关文章
- Masquerade strikes back Gym - 101911D (数学)
Quite often the jury of Saratov SU use the problem "Masquerade" in different practice sess ...
- 2017河工大校赛补题CGH and 赛后小结
网页设计课上实在无聊,便开始补题,发现比赛时候僵着的东西突然相通了不少 首先,"追妹"这题,两个队友讨论半天,分好多种情况最后放弃(可是我连题目都没看啊),今天看了之后试试是不是直 ...
- hdu5017:补题系列之西安网络赛1011
补题系列之西安网络赛1011 题目大意:给定一个椭球: 求它到原点的最短距离. 思路: 对于一个椭球的标准方程 x^2/a^2 + y^2/b^2 +z^2/c^2=1 来说,它到原点的最短距离即为m ...
- 2018 HDU多校第四场赛后补题
2018 HDU多校第四场赛后补题 自己学校出的毒瘤场..吃枣药丸 hdu中的题号是6332 - 6343. K. Expression in Memories 题意: 判断一个简化版的算术表达式是否 ...
- 2018 HDU多校第三场赛后补题
2018 HDU多校第三场赛后补题 从易到难来写吧,其中题意有些直接摘了Claris的,数据范围是就不标了. 如果需要可以去hdu题库里找.题号是6319 - 6331. L. Visual Cube ...
- [数]补题ver.
上次补题好像把两次训练混在一起了,总之先按时间顺序补完这一次|ू・ω・` ) HDU-6301 不会的东西不能逃避.jpg 红小豆非常讨厌构造题,因为非常不会,并且非常逃避学习这类题,因为总也搞不清楚 ...
- 4.30-5.1cf补题
//yy:拒绝转载!!! 悄悄告诉你,做题累了,去打两把斗地主就能恢复了喔~~~ //yy:可是我不会斗地主吖("'▽'") ~~~那就听两遍小苹果嘛~~~ 五一假期除了花时间建模 ...
- ICPC南京补题
由于缺的题目比较多,竟然高达3题,所以再写一篇补题的博客 Lpl and Energy-saving Lamps During tea-drinking, princess, amongst othe ...
- 2018 CCPC 桂林站(upc复现赛)补题
2018 CCPC 桂林站(upc复现赛)补题 G.Greatest Common Divisor(思维) 求相邻数的差值的gcd,对gcd分解素因子,对所有的素因子做一次遍历,找出最小答案. 几个样 ...
随机推荐
- win7仿win98电脑主题
http://ys-d.ys168.com/599631823/S7hMfgo3M382J764IOJ8/plus98_for_windows_7_by_ansonsterling.zip
- Delphi 组件渐进开发浅谈(二)——双简合璧
2.双简合璧2.1.带有T[x]Label的T[x]Edit组件 请允许我用[x]的书写方式来表示不同的对象.因为随后将大量提及TLabeledEdit与TTntLabeledEdit.TCustom ...
- 洛谷 P4754 True Vegetable 解题报告
P4754 True Vegetable 题目描述 小A现在有N道题,编号为1,2,⋯,N.每道题的起始毒瘤程度为0或1.在每天,小A可以将编号连续的K道题的毒瘤程度+1.但小B因为本身比较菜,不是很 ...
- php-fpm: hundreds of seconds in the log
favoriteI have nginx+php-fpm web serverSo I've noticed in php5-fpm.log many strange lines:[03-Sep-20 ...
- SNMP-网络管理协议
SNMP协议简介: a. 轮询(Polling) -- 定时获取状态, 中断(Interrupt)--出问题通知 b. 共同体名(community) -- 口令--只读口令 --读写口令 使用SNM ...
- php扩展库 说明
1 zlib是提供数据压缩用的函式库, 2 libxml2 Libxml2 is the XML C parser and toolkit developed for the Gnome projec ...
- 【原创】【1】rich editor系列教程。前期准备,兼容
[1]前期准备,兼容 索引目录:http://www.cnblogs.com/henryli/p/3439642.html rich editor的原理无非是启用iframe的编辑模式或者div的co ...
- 【bzoj2006】超级钢琴
Portal --> bzoj2006 Solution 一开始看错题了..没有看到编号连续然后愣了好久== 首先肯定是找最大的\(K\)个啦,然后具体怎么找的话..没有什么特别好的办法那就 ...
- 框架----Django框架知识点整理
一.cbv cbv(class-base-view) 基于类的视图 fbv(func-base-view) 基于函数的视图 a.基本演示 urlpatterns = [ url(r'^login.ht ...
- Android Studio常用的快捷键
罗列一些常用的快捷键 全局快捷键(比较重要的) ALT + ENTER 工程快速修复 CTRL + SHIFT + A 快速查找 CTRL + ALT + L (Win) 格式化代码(我的锁屏的快 ...