HDU 5223 GCD(模拟)

在Matlab中开发AutoSAR模型的流程(自下而上) 前面介绍了AutoSAR软件组件开发的两种方式,其中自下向上的方式,是从模型出发,流程如下。 阅读详情

HDU 5223 GCD

In mathematics, the greatest common divisor (gcd) of two or more integers, when at least one of them is not zero, is the largest positive integer that divides the numbers without a remainder. For example, the GCD of 8 and 12 is 4.—Wikipedia

BrotherK and Ery like playing mathematic games. Today, they are playing a game with GCD.

BrotherK has an array A with N elements: A1 ~ AN, each element is a integer in [1, 10^9]. Ery has Q questions, the i-th question is to calculate
GCD(ALi, ALi+1, ALi+2, …, ARi), and BrotherK will tell her the answer.

BrotherK feels tired after he has answered Q questions, so Ery can only play with herself, but she don’t know any elements in array A. Fortunately, Ery remembered all her questions and BrotherK’s answer, now she wants to recovery the array A
.
Input
The first line contains a single integer T, indicating the number of test cases.

Each test case begins with two integers N, Q, indicating the number of array A, and the number of Ery’s questions. Following Q lines, each line contains three integers Li, Ri and Ansi, describing the question and BrotherK’s answer.

T is about 10

2 ≤ N Q ≤ 1000

1 ≤ Li < Ri ≤ N

1 ≤ Ansi ≤ 109
Output
For each test, print one line.

If Ery can't find any array satisfy all her question and BrotherK's answer, print "Stupid BrotherK!" (without quotation marks). Otherwise, print N integer, i-th integer is Ai
.

If there are many solutions, you should print the one with minimal sum of elements. If there are still many solutions, print any of them.

Sample Input

2
2 2
1 2 1
1 2 2
2 1
1 2 2

Sample Output

Stupid BrotherK!
2 2
题意:

给定一些区间的gcd要你还原原数列

分析:

模拟

直接求最小公倍数,然后最后检验

code:

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll ans[1010],l[1010],r[1010],a[1010];
int n;

void printAns(int flag){
    if(flag){
        puts("Stupid BrotherK!");
    }
    else{
        for(int i = 1; i <= n; i++){
            if(i != 1) printf(" ");
            printf("%lld",ans[i]);
        }
        puts("");
    }
}

ll gcd(ll a,ll b){
    return b ? gcd(b,a%b) : a;
}

ll lcm(ll a,ll b){
    return a / gcd(a,b) * b;
}

int main(){
    int T;
    scanf("%d",&T);
    while(T--){
        int Q,flag = 0;
        scanf("%d%d",&n,&Q);
        for(int i = 1; i <= n; i++) ans[i] = 1;
        for(int k = 0; k < Q; k++){
            scanf("%lld%lld%lld",&l[k],&r[k],&a[k]);
            for(int i = l[k]; i <= r[k]; i++){
                ans[i] = lcm(ans[i],a[k]);
                if(ans[i] >= 1e9) flag = 1;
            }
        }
        for(int k = 0; k < Q; k++){
            ll point = ans[l[k]];
            for(int i = l[k]+1; i <= r[k]; i++){
                point = gcd(ans[i],point);
            }
            if(point != a[k]) flag = 1;
        }
        printAns(flag);
    }
    return 0;
}
如何计算 R 中的基尼系数(附示例) 以意大利统计学家Corrado Gini命名,基尼系数是衡量人口收入分配的一种方法。基尼系数的值在 0 到 1 之间,值越高代表收入不平等越大,其中:0代表完全的收入平等(每个人的收入都一样) 1代表完全的收入不平等(一个人拥有所有收入) 您可以在此处找到按国家/地区列出的基尼系数列表。以下示例显示了使用DescTools包中的Gini()函数计算 R 中的基尼系数的两种方法。示例 1:使用个人收入计算基尼系数假设我们有以下 10 个人的年收入列表:收入:5 万美元、5 万美元、7 万美元、7 万美元、7 阅读详情

相关推荐

EC20模块实战:5步搞定MQTT连接阿里云IoT(附常见错误排查)

本文详细介绍了使用EC20 4G模块通过AT指令连接阿里云IoT平台的完整实战流程。文章以智能农业项目为背景,从硬件接线、网络注册、PDP激活,到MQTT连接配置、一型一密动态注册及数据收发,提供了清晰的5步操作指南,并重点附上了常见错误排查方法,帮助开发者快速实现稳定可靠的物联网设备上云。

weixin_29209801的博客 196

数论(1):最大公约数和最小公倍数(Gcd&Lcm)

最大公约数 最小公倍数

言叶与梦之端 669

Pyinstaller 打包 Pyzbar 时缺失 DLL 文件的排查与修复指南

本文详细解析了使用Pyinstaller打包Pyzbar库时,因缺失关键DLL文件导致程序闪退的常见问题。文章提供了从问题复现、错误诊断到最终修复的完整解决方案,核心在于通过修改.spec配置文件,手动将缺失的libzbar-64.dll等文件添加到打包过程中,确保生成的可执行文件能独立运行。

wdx012345的博客 502

HDU 5223 - GCD (思维)

RT

一只冰熊 926

二进制、八进制、十六进制、十进制转换详解

二进制是计算机的语言,正如我们使用汉语表达与交流信息一样,任何信息在计算机中都以二进制的形式存储和计算。了解二进制与十进制等进制之间的转换方法,有助于我们了解计算机内部的数字计算过程,可以帮助我们在一定程度上理解信息在计算机中的编码和解码过程。本文先简单介绍位置化数字系统的概念,然后详细讲解二进制、八进制、十六进制、十进制之间的转换方法与原理。

2301_81674797的博客 2096

ETL基础概念及要求详解

ETL即Extract(抽取)Transform(转换)Load(装载)的过程,如下图,同时也包括数据清洗的部分,是数据从源端到目标端的一个数据处理的过程,是构建数据仓库的重要一环,但不局限于构建数据仓库其他BI(商业智能)的设计和开发数据分析平台也经常用到ETL。

qq_43605229的博客 8943

HDU 5223 GCD

Problem Description In mathematics, the greatest common divisor (gcd) of two or more integers, when at least one of them is not zero, is the largest positive integer that divides the numbers withou

Occult 980

穿透鼠标实现后台点击,适用于任何窗口!【后台鼠标】【风雪】

也许你就是被这标题吸引来的,呵呵!好久没发帖了,勾引一下大家的胃口,当然有的人已经猜出原理了!既然来了,都要把原理学回家,不然就没意思了!很多游戏现在都不支持后台消息鼠标,要实现真的不是简单的,什么注入dll啊,什么hook俺也学不懂,那就简简单单另辟蹊径了下面来讲讲原理吧(下面的玩玩可以,用于实际不现实,俺也不藏了,看到这么多人回复,良心过意不去,呵呵)首先,将要点击的窗口上面覆盖的所有窗...

weixin_34129145的博客 1万+

hduoj 5223 GCD 构造检查

hduoj 5223 GCD 构造检查有一个数组A1⋯ANA_1 \cdots A_N,数组中每一个元素是在区间[1,109][1,10^9]之间。现在有Q个问题,每一个问题是GCD(ALi, ALi+1, ALi+2, ..., ARiA_{L_i},~A_{L_i + 1},~A_{L_i + 2},~...,~A_{R_i}),即给定区间的所有数的最大公约数,现在知道了每个问题和问题的答案。要

gwq5210的专栏 888

光猫桥接后网速不升反降?可能是你的路由器在“偷懒”!

本文详细分析了光猫桥接后网速不升反降的常见原因,包括路由器性能不足、MTU/MSS值设置错误等,并提供了四个关键排查步骤和路由器选购指南。通过优化PPPoE拨号设置和硬件配置,帮助用户解决网速下降问题,提升家庭网络性能。

hqmln的博客 611

从48V到800V:TI BMS芯片如何应对高压电池管理挑战?

电池管理系统是电动汽车和储能系统的核心,负责监控电池状态、保障安全并优化性能。其核心原理在于通过高精度测量电池电压、电流和温度,结合算法估算电池的荷电状态与健康状态,从而实现精准的能量管理与寿命预测。在技术价值层面,高精度测量能最大化利用电池化学窗口,提升能量密度与续航里程;而符合功能安全标准的设计则是防止热失控等安全事故的基石。随着汽车电气化从48V轻混系统向400V/800V高压平台演进,BMS面临着测量精度、功能安全、高压隔离通信和系统成本等多重挑战。德州仪器的BQ796xx和BQ75614系列芯片,

weixin_27017211的博客 341

数学--数论--HDU 5223 - GCD

Describtion In mathematics, the greatest common divisor (gcd) of two or more integers, when at least one of them is not zero, is the largest positive integer that divides the numbers without a remaind...

日拱一卒,功不唐捐 2981

SAP-ABAP:接口多继承与复合接口设计:复杂业务场景下的能力组合实现方案

本文介绍了ABAP中通过接口多继承与复合接口设计实现能力组合的方案。文章首先辨析了类实现多个接口与接口继承接口的核心概念,指出ABAP虽不支持类多继承,但可通过这两种机制灵活组合能力。随后详细讲解了类实现多个接口的语法规则与三种调用方式,并给出了五个基础能力接口的设计示例(日志记录、权限校验、数据导出、消息通知、格式转换)。作者通过对比单继承与接口多重实现的差异,强调后者在解耦和扩展性上的优势,为复杂业务场景下的能力组合提供了实用解决方案。

baidu_35680696的博客 245

【模拟】 HDU 5223 GCD

点击打开链接 题意:一个数组,给出Q段区间内的GCD,求原数组 模拟一下, #include #include #include #include #include using namespace std; #include #include #include #include #include #define LL long long LL ans[2122],l

Kewowlo 745

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

HDU-5223-GCD

HDU-5223-GCD 传送门 这道题是一个关于gcd和lcm的题目~构造题 题目大意:给出一个整数n,代表你要构造的序列的长度,然后m次询问,每次询问给出区间[l, r]中l和r的值,给出这段区间的最大公约数,让你构造出满足m次询问的序列。 如果构造不出来,就输出Stupid BrotherK! 否则就输出长度为n的序列。 看了下题目的范围到1e3,不大,可以暴力。 我们首先初始化序列均为1....

qq_44624316的博客 295

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

HDOJ 5223 GCD

题意:已知有n个数,其中有q次查询,已知每次查询的区间以及区间中的最大公约数,判断是否存在一个数列,满足每次查询的结果。如果有多个序列,输出和最小的一个,若还是有多个,输出任意一个序列 链接:http://acm.hdu.edu.cn/showproblem.php?pid=5223 思路:枚举每个区间中的数,排序后判断是否存在同一区间有不同的gcd,若存在,则该序列不存在,若不存在,则每个数

luminous11的专栏 580

HDU5223 GCD【LCM】

GCD Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 1671 Accepted Submission(s): 662 Problem Description In mathematics, the greatest common divisor (gcd) of two or more integers, when at least

海岛Blog 457

数论-GCD、LCM、扩展欧几里得

HDU-5523 HDU-1576 扩展欧几里得 问题引入:ax+by=nax+by=n什么时候有整数解?有解的充要条件是gcd(a,b)gcd(a,b)可以整除nn,当方程符合ax+by=gcd(a,b)ax+by=gcd(a,b)时,可以用扩展欧几里得算法求一个整数解(x_0,y_0),程序如下:

有一分热,发一分光。 5460

hdu5223 GCD(构造)

题意 现在让你还原nnn个数,有qqq个询问,每行给你li,ri,ansil_i,r_i,ans_ili​,ri​,ansi​,代表着这一区间的gcdgcdgcd为多少(且让这个数列的和尽量少)。 思路 构造这一数组并检查。用lcmlcmlcm构造肯定慢足尽量少这一问题。 #include<cstdio> #include<cmath> #include<cstrin...

一身清贫怎敢入繁华 635

hdu-5223-gcd

#include <bits/stdc++.h> #define ll long long #define MAX 1007 using namespace std; int shit(){ int n,q,flag=1; ll a[MAX],l[MAX],r[MAX],an[MAX]; cin>>n>>q; for(int i=0;i<=n;i++)a[i]=1; for(int i=0;i<q;i++){

扣脚老骚 252

数论 - hdu5223 GCD

题目: http://acm.hdu.edu.cn/showproblem.php?pid=5223 题意: 已知一个序列若干区间内数字的最大公约数,问是否能复原出原序列,输出最小满足条件的序列 思路: 初始设序列上所有数字均为1,对每个区间上每个数字,变成原数字与公约数的最小公倍数,最后再检查一次结果序列每个区间是否满足 代码: #include #i

Keith_windniw的专栏 661

hdu 5223 GCD

贪心,读到一个区间i,就用尽量小的数乘上去使得区间内每个数是ansi的倍数。最后检查一下区间gcd是否合法就行了。 #include #include #include #include using namespace std; const int maxn = 1e6+10; const int mod = 1e9+7; #define ll long long ll gcd(

A Cube Master 691

hdu5223(GCD)

题目链接:点击打开链接 题意: 首先给定数组中有多少个数,只告诉你他们最小值为1,不告诉你每个数字是多少,要求根据给定区间中数的最大公约数,复原原来的序列。 思路: 先把所有的数初始化为1,然后根据指定问题,如果某一区间的最大公约数是ans, 那么这个区间中的所有数字都是ans的倍数,所以,把区间中的每个数字都赋值为原数字和ans的最小公倍数即可。 这道题本来是一道水题,但由于自

YanzheShi的专栏 1672

hdu 5223 GCD 思维题

GCD Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 506    Accepted Submission(s): 227 Problem Description In mathematics, the greate

hero_ds的专栏 552
上一篇: HDU 4675 GCD of Sequence(数论+组合数学||莫比乌斯反演)
下一篇: Swordsman HDU - 6396(优先队列+输入外挂)
Guuuuuu老师儿
博客等级 码龄9年 259粉丝 718原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值