poj 3145 Harmony Forever(线段树)

告别手写代码!用Simulink给TI F28335 DSP自动生成C代码(保姆级环境配置) 本文详细介绍了如何利用Simulink为TI F28335 DSP自动生成C代码,告别传统手写代码的低效与错误。通过保姆级环境配置指南和实战案例,帮助开发者快速掌握模型驱动开发方法,大幅提升嵌入式开发效率,特别适合需要频繁修改算法参数或团队协作的工程师。 阅读详情


poj 3145 Harmony Forever


奇葩怪异吐血题,无力多说、、、


#include<stdio.h>
#include<string.h>
#define MAXN 600000
#define INF 2000000
#define lch p<<1
#define rch p<<1|1
#define mid (t[p].l+t[p].r)>>1
struct node
{
    int l,r;
    int val;
}t[MAXN<<2];
void construct(int l,int r,int p)
{
    t[p].l=l,t[p].r=r,t[p].val=INF;
    if(l==r) return ;
    int m=mid;
    construct(l,m,lch);
    construct(m+1,r,rch);
}
int min(int a,int b) {return a<b?a:b;}
void modify(int x,int p)
{
    if(t[p].l==t[p].r)
    {
        t[p].val=x;
        return ;
    }
    int m=mid;
    if(x<=m) modify(x,lch);
    else modify(x,rch);
    t[p].val=min(t[lch].val,t[rch].val);
}
void query(int l,int r,int p,int &num)
{
    if(t[p].l>=l&&t[p].r<=r)
    {
        num=min(num,t[p].val);
        return ;
    }
    int m=mid;
    if(l<=m) query(l,r,lch,num);
    if(r>m) query(l,r,rch,num);
}
int rec[MAXN],id[MAXN];
int main()
{
    int n,x,cas=1;
    char op[3];
    while(scanf("%d",&n)!=EOF&&n)
    {
        if(cas>1) printf("\n");
        printf("Case %d:\n",cas++);
        construct(1,MAXN,1);
        int up=0,max=0;
        memset(id,-1,sizeof(id));
        while(n--)
        {
            scanf("%s%d",op,&x);
            if(op[0]=='B'&&id[x]==-1)
            {
                rec[up]=x;
                id[x]=up;
                modify(x,1);
                up++;
                if(x>max) max=x;
            }
            else
            {
                int ans=-1,re=x;
                if(x<5000)
                {
                    for(int i=up-1;i>=0;i--)
                    {
                        if(rec[i]%x<re)
                        {
                            re=rec[i]%x;
                            ans=id[rec[i]];
                        }
                        if(re==0) break;
                    }
                }
                else
                {
                    int dd=MAXN/x;
                    int re=x;
                    for(int i=0;i<=dd;i++)
                    {
                        int num=INF;
                        int l=i*x;
                        if(l<1) l=1;
                        int r=(i+1)*x-1;
                        if(r>MAXN) r=MAXN;
                        query(l,r,1,num);
                        if(num==INF) continue;
                        if(num%x<re)
                        {
                            re=num%x;
                            ans=id[num];
                        }
                        else if(num%x==re)
                        {
                            if(id[num]>ans) ans=id[num];
                        }
                    }
                }
                if(ans!=-1) ans++;
                printf("%d\n",ans);
            }
        }
    }
    return 0;
}


基于STM32、HAL库的AD7124-8BCPZ模数转换器ADC驱动程序设计 / 配置0: 使用内部参考电压(2.5V),增益128,双极性。// 配置通道0: AIN0+和AIN1-,使用配置0和滤波器0。// 100ms采样间隔。// 转换为电压值(使用内部2.5V参考电压)// 构造读命令: 最高位为1表示读,接下来7位是寄存器地址。// 构造写命令: 最高位为0表示写,接下来7位是寄存器地址。// 配置滤波器0: 输出数据率50Hz,后置滤波器4。 阅读详情

相关推荐

基于OpenMV与双舵机云台的激光追踪系统实战解析

本文详细解析了基于OpenMV摄像头与双舵机云台的激光追踪系统设计与实现。从硬件选型、图像识别算法到PID控制逻辑,全面介绍了如何构建一个高效稳定的激光追踪系统,并分享了电子设计竞赛中的实战经验与调试技巧。该系统在智能玩具、安防监控及教学演示等领域具有广泛应用前景。

prometheus9mon的博客 261

poj3145(线段树)

题意:两种操作,一种B向集合中插入元素t

xiefubao的专栏 1144

DBeaver 实战:手动配置 PostgreSQL JDBC 驱动的高级技巧

本文详细介绍了在DBeaver中手动配置PostgreSQL JDBC驱动的高级技巧。针对企业内网、多版本数据库兼容等场景,从获取官方驱动文件、创建自定义驱动配置,到使用Maven坐标管理、连接参数调优及解决常见连接问题,提供了完整的实战指南,帮助开发者实现对数据库连接环境的精准掌控。

apple5的专栏 836

POJ 3145 线段树 分块?+暴力

思路: 线段树 (分类讨论) 此题数据很水 数据很水 数据很水 但是卡个暴力还是没问题的…… //By SiriusRen #include <cstdio> #include <cstring> using namespace std; #define maxn 1500000 #define inf 1061109567 in...

weixin_34259232的博客 155

Visio 2013安装遇阻?手把手教你搞定注册表权限错误1402(附64位系统特殊处理)

本文详细解析了Visio 2013安装过程中常见的注册表权限错误1402问题,特别是在64位系统下的特殊处理方法。通过分步指导如何修改注册表权限、处理Wow6432Node分支以及使用高级工具如subinacl,帮助用户顺利完成安装并避免常见连带问题。

t8u9v0w1x的博客 543

Grok-1.5+Ollama企业级本地化部署与合规实践指南

本文详细介绍了Grok-1.5+Ollama企业级本地化部署与合规实践指南,重点分析了本地化部署的成本优势和数据主权保障。通过RTX 4090显卡的硬件选型、Ubuntu 22.04系统优化及部署流程中的关键陷阱规避,为企业提供了高效、安全的AI模型部署方案。特别适合金融、医疗等敏感行业。

weixin_29094539的博客 181

Poj3145Harmony Forever线段树+鸽巢原理

  小数据直接暴力,大数据查找0-mod — 1,mod — 2*mod-1,2*mod — 3*mod-1..... 因为 n%mod 的范围<=n-1 ,所以k*mod — (k+1)*mod之间%mod的最小值 应该是 k*mod — (k+1)*mod-1之间的最小值,如果存在的话,用线段树维护下区间最值就好了,有个地方得注意下。 #include<iostream&g...

weixin_30782331的博客 128

《华为项目管理之道》第1章笔记

performance indicator,KPI)纳入个人绩效承诺书,贯彻结果导向的理念,以向员工。客户需求是华为发展的原动力,为客户服务是华为存在的唯一理由。目经理‘用兵’,依靠市场机制‘调兵’”,打破了人员在功能部门的板结,实现了听得。为管理者选拔的必要条件,项目经理成为人人向往的岗位。《华为项目管理之道》,是新出的华为官方的项目管理书,整个书不错。伴随着项目型组织的建立,华为逐步形成了完备的项目管理流程和制度,从而将业务运。为此,通过改革,重新明确了项目经理承担的经营责任,并开始以项。

jackyrongvip的专栏 2127

POJ-3145-Harmony Forever-线段树暴力

题意:  对一个集合,有两种操作, 一:将某个元素加入集合中  二:个是问当前集合中mod y 最小的数,如果有多个,输出最近加入的那个元素的输入时间,在本题指的是该元素加入集合时操作一的次数 当y比较大 每次对[0,y-1]、[y,2y-1]...每个长度为y的区间查询最小的存在的数。。。最后比较得到答案 y比较小的话,如果这样遍历 区间最多会有  500000/y个。。所以不如直接

缺氧 711

Matlab安装硬件支持包、simulink离线安装硬件支持包安装,离线安装ESP32、stm32等安装包,Are you up-to-date on SoftWare Maintenance?

注意:如果提示出现“没有可从此位置安装的兼容支持包后,这个问题,请查看步骤5,是不是没有按照步骤5进行操作.一般情况下出现“没有可从此位置安装的兼容支持包”后,重新安装选择了默认路径就可以成功。如果不是很清楚,直接安装在默认的文件夹下面,即使这个文件夹下没有matlab相关的文件夹,也要这么下载,没有为什么,切记尽量按默认路径安装,更改下载的路径不成功,别怪我没提醒。:下载到哪里非常重要,如果下载的不是默认的路径下,就需要将其中这个的是这个archives文件夹,连同其他文件一并要复制出来,拷贝到。

pvmsmfchcs的博客 1746

储能电池管理系统介绍(一)

介绍储能BMS的架构以及各模块功能

manjixingkong1234的专栏 1916

poj3145 / hdu3303 Harmony Forever(树状数组 + 鸽巢原理)

Harmony Forever Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1633    Accepted Submission(s): 474 Problem Description We believ

z毛毛雨的博客 549

(付费请教,防遗忘记录)为什么EDEM bondV1 V2添加后还是没有胶结?????

最近用到了EDEM的胶结功能,在添加了bond V1和V2后,我发现无论颗粒半径设置为多少,接触半径设置为多少,胶结键的参数设置为多少,bond generated数量均为0!!!在后处理中bond中的力也通通为0!!我跟我的同门百思不得其解!!!!最终付费请教了一个大牛,解决了这个问题!!!!答案在文末

zheaa的博客 3101

POJ 3145 Harmony Forever 线段树

前所未见的思路,对于查询的Y的规模不同,用不同的查找方式,如果Y大的话就用线段树进行分段查找,小的话就直接线性查找了。时间给的10s还是很充裕的。 这就说明了,现场赛的时候要大胆搞,说不定就能过 #include <cstdio> #include <cstring> #include <algorithm> #include <map&gt...

weixin_30501857的博客 104

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

POJ 3145 HDU 3303 Harmony Forever 线段树 + 鸽巢定理

大意就是对一个集合,有两种操作,一个是将某个元素加入集合中,一个是问当前集合中mod y 最小的数,如果有多个,输出最近加入的那个元素,当然题目要求的是输出他们加入集合的时间是什么。 题目的数据范围一看就是线段树类型的。 然后对每个y,由鸽巢定理,y+1个数中必然存在mod y相同的数,那么分为多个区间进行查询,即[0, y - 1] [y , 2 * y - 1]…… 然后取最优解即

水 2539

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

POJ 3145Harmony Forever(线段树更新+分情况处理数据+区间极值查询+好题)

We believe that every inhabitant of this universe eventually will find a way to live together in harmony and peace; that trust, patience, kindness and loyalty will exist between every living being of this earth; people will find a way to appreciate and coo

HJY 545

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

POJ3145: Harmony Forever

POJ3145: Harmony Forever线段树·乱搞题解:http://blog.youkuaiyun.com/sdj222555/article/details/7383593Code:#include <iostream> #include <cstring> #include <cstdio> #define MP make_pair #define D(x) cout<<#x<<" = "<<x

FTM's Blog 358

POJ 3145 Harmony Forever

题意:给出”A x”&”B y”两种操作,前者表示查询数列中模x最小的数,如果相等的话,那么输出最近那个数进入数列的顺序  这样的操作容易想到线段树,但会发现建树时不知道怎么具体建树,可以充分利用一下数据范围,对于每个数都建立一个节点,然后直接做就好了,最重要的就是查询时, 对于1~mod-1, mod~2*mod-1, ……这样的一个一个查询,但是容易发现当模数很小的时候,这样会常数很大,不如直接

上班了开始工作在家没事做 343

线段树专辑 —— pku 3145 Harmony Forever

http://poj.org/problem?id=3145 Harmony Forever。。。多吹牛B啊。 这题巧妙的运用了鸽笼原理,什么是鸽笼原理?鸽笼原理就是给你N+1个数,则必定至少有两个数的余数是相同的! 解决这题的时候,我们先用RMQ的方法求出每一段的最小值,这是容易做到的。 这题的数据范围是500000,也就是说最多会有500000个叶子节点,当该叶子节点的值为inf的时候...

weixin_30343157的博客 97

HDU 3303 Harmony Forever(数学)

HDU 3303 Harmony Forever(数学)

1852

poj 3145 Harmony Forever

Description We believe that every inhabitant of this universe eventually will find a way to live together in harmony and peace; that trust, patience, kindness and loyalty will exist between every liv

JokerPoker的专栏 562

hdu 3303 Harmony Forever (线段树 + 抽屉原理)

http://acm.hdu.edu.cn/showproblem.php?pid=3303 Harmony Forever Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 813 Accepted Submiss...

diansitao5461的博客 326

zoj 3633 Alice's present 线段树

链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3633 题意:给出一n个数的序列,然后又m个询问[x,y](下标),如果[x,y]内没有重复的数,就输出OK,否则输出从右至左第一个重复的数字 测试数据: 5 1 2 3 1 2 3 1 4 1 5 3 5 [1,4]间从右到左第一个重复的数字是1 [

yjCola 4723

poj3667 Hotel (线段树区间合并)

链接:http://poj.org/problem?id=3667 题意:n个连续的房间m个操作。操作分两种,第一种以1 x形式给出,找到最左的能连续容下x个人的连续房间,并输出左端点的编号,如果找不到就输出0.第二章以2 l x的形式给出,表示以l为起点的x个房间都清空。 查询的时候要能直接获取区间的最大连续空房间,这样就能判断能不能连续放下这x个人,但这样还确定不了具体放哪。放的位

yjCola 2409

poj 3468 A Simple Problem with Integers(线段树成段更新,延迟标记,Lazy)

链接:http://poj.org/problem?id=3468 线段树成段更新,延迟更新 #include #include #define MAXN 100005 struct node { int l,r; __int64 s,c; }t[MAXN*4]; void construct(int l,int r,int p) { t[p].l=l,t[p].r=r,t[

yjCola 1814

hdu 4521 小明系列问题——小明序列

链接:http://acm.hdu.edu.cn/showproblem.php?pid=4521 题目中文 这个题我用线段树做的,也有更快的算法,这里只介绍线段树的方式 叶子节点为输入的值 从头开始遍历,线段树天然地排好序,所有不用管大小的问题,设加入了点a[i],那么在一个子序列中这个点最近的下一个点就是a[i+d+1],相当于对于a[i+d+1]来说,当加入了点a[i]时,就

yjCola 996
上一篇: poj 2828 Buy Tickets(线段树,逆序插入)
下一篇: noj 1560 Let Slimes Grow Up(线段树,lazy,暂未A)
yjCola
博客等级 码龄14年 4粉丝 138原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值