HDU 4351

江科大51单片机笔记【1】单片机及开发板介绍 单片机,Micro Controller Unit,简称MCU,内部集成了CPU、RAM、ROM、定时器、中断系统、通讯接口等一系列电脑的常用硬件功能单片机的任务是信息采集(传感器)、处理(CPU)和硬件设备(电机、LED)的控制单片机算是一个袖珍版计算机,是一个完整的计算机系统,成本低体积小结构简单单片机的使用领域:智能仪表、实时工控、通讯设备、导航系统、家用电器等。 阅读详情

区间合并的线段树

#include<cstdio>
#include<algorithm>
#include<cstring>
#include<vector>
#define N 100100
#define f(x) ((x)==0?0:((x)%9==0?9:(x)%9))
using namespace std;

struct Tree{
    int l,r;
    int ls,rs,all,num;
}tree[5*N];
int val[N],mul[1125][1125];

void init(){
    int i,j,p,q;
    for(i=0;i<=1023;i++)
        for(j=i;j<=1023;j++){
            mul[i][j]=0;
            for(p=0;p<=9;p++)
                if(i&(1<<p))
                    for(q=0;q<=9;q++)
                        if(j&(1<<q))
                            mul[i][j]|=(1<<f(p+q));
            mul[j][i]=mul[i][j];
        }
}

void build(int s,int t,int id){
    tree[id].l=s,tree[id].r=t;
    if(s==t){
        tree[id].ls=tree[id].rs=tree[id].num=tree[id].all=1<<f(val[s]);
        return ;
    }
    int mid=(s+t)>>1;
    build(s,mid,id<<1);
    build(mid+1,t,id<<1|1);
    tree[id].all=tree[id<<1].all|tree[id<<1|1].all|mul[tree[id<<1].rs][tree[id<<1|1].ls]; //all表示所有情况
    tree[id].num=mul[tree[id<<1].num][tree[id<<1|1].num];      //num表示此区间内所有数和的digital root
    tree[id].ls=tree[id<<1].ls|mul[tree[id<<1].num][tree[id<<1|1].ls]; //ls表示所有含有区间左端点的区间的情况
    tree[id].rs=tree[id<<1|1].rs|mul[tree[id<<1|1].num][tree[id<<1].rs];//rs表示所有含有区间右端点的区间的情况
}

struct Tree query(int s,int t,int id){
    struct Tree t1,t2,t3;
    if(tree[id].l==tree[id].r)return tree[id];
    if(tree[id].l==s && tree[id].r==t)return tree[id];
    int mid=(tree[id].l+tree[id].r)>>1;
    if(mid>=t)return query(s,t,id<<1);
    else if(mid<s)return query(s,t,id<<1|1);
    else{
        t1=query(s,mid,id<<1);
        t2=query(mid+1,t,id<<1|1);
        t3.all=t1.all|t2.all|mul[t1.rs][t2.ls];
        t3.num=mul[t1.num][t2.num];
        t3.ls=t1.ls|mul[t1.num][t2.ls];
        t3.rs=t2.rs|mul[t2.num][t1.rs];
        return t3;
    }
}

int main(){
    int t,T,n,q;
    int i,j,l,r;
    init();
    scanf("%d",&T);
    for(t=1;t<=T;t++){
        scanf("%d",&n);
        for(i=1;i<=n;i++)scanf("%d",&val[i]);
        build(1,n,1);
        scanf("%d",&q);
        printf("Case #%d:\n",t);
        for(j=1;j<=q;j++){
            scanf("%d %d",&l,&r);
            struct Tree tem=query(l,r,1);
            int num=1;
            vector<int>vec;
            vec.clear();
            for(i=9;i>=0 && num<=5;i--){
                if(tem.all&(1<<i)){
                    num++;
                    vec.push_back(i);
                }
            }
            while(num<=5){
                vec.push_back(-1);
                num++;
            }
            for(i=0;i<vec.size();i++){
                if(!i)printf("%d",vec[i]);
                else printf(" %d",vec[i]);
            }
            puts("");
        }
        if(t!=T)puts("");
    }
    return 0;
}



使用STC15F104W产生PWM脉冲 最近的小项目中使用到了STC15F104W产生PWM脉冲 阅读详情

相关推荐

超详细YOLOv8姿态检测全程概述:环境、训练、验证与预测详解

本篇博客详细介绍了使用YOLOv8-pose进行姿态估计的全过程,包括不同版本模型的性能比较、训练与验证步骤,以及预测代码的实现。它对模型参数、训练过程和输出结果进行了解释,同时提供了详细的配置文件示例和标签数据格式说明。此外,还演示了如何使用预训练模型进行图像预测,并如何处理和理解预测结果。最后,它还讨论了如何评估和比较不同模型的性能。如果有哪里写的不够清晰,小伙伴本可以给评论或者留言,我这边会尽快的优化博文内容,另外如有需要,我这边可支持技术答疑与支持。

CDBmax的博客 3万+

HDU 4351 (水过的方法)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4351           题意就不描述了,这道题目的标准做法应该是区间合并的线段树,因为比赛的时候想到了能水过的方法,赛后证明是可行的,特意记录说明一下。         题目说明 0         如果数据中有大量连续的0,易知枚举必定会TLE,因此需要构造一个 next

Night__elf 576

使用Gromacs进行蛋白和配体小分子的动力学模拟+结果分析全流程教程

先选protein,选择non-water,使用pymol打开delWater.pdb,输入util.ss('all')展示cartoon,点击file-Export Moive as-MPEG。这一步完成后,文件夹中会出现以下三个文件,其中gro 文件用于记录蛋白的初始坐标,top 文件记录蛋白的拓扑信息和力场信息,itp 与top文件类似。接下来使用Spdbv软件打开蛋白,如果蛋白中存在原子缺失情况,就会出现以下的提示,如果不存在就不会显示,同时保存为rep.pdb。

weixin_46587777的博客 2854

HDU 4351 - Digital root

题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=4351   这题囧死了~~~    耽搁了几天,终于解决它了~~   0的字根是0。   非0数a的字根是 a%9==0 ? a%9 : 0  。   ===================================================================

诳人居 947

实测对比:Gromacs GPU版vsCPU版性能差异到底有多大?2023最新基准测试

本文通过2023年最新基准测试,详细对比了Gromacs GPU版与CPU版的性能差异。测试显示,GPU版本在计算速度上可提升54倍,同时显著降低内存需求和能耗成本。文章还提供了GPU版安装优化实践和硬件选购指南,为计算生物学研究提供关键参考。

weixin_29243063的博客 335

逆向攻防世界CTF系列40-ReverseMe-120

注意sub_401000main中只传了两个参数,但是跟进后发现四个(可能是隐式传递,放在寄存器里传递了),调试发现a4是输入长度,与最终的you_know_how_to_remove_junk_code比较的是v12(但是并没有被传入),开始怀疑是不是隐式传递了。_mm_xor_si128用于计算128位(16字节)的按位异或,然后通过v14控制循环结束的条件,可以看到v14增长的步长为16,而且通过上面得到的flag值解码得到的字符串为32个字节大小,正好是16的整数倍。

LH1013886337的博客 1410

hdu4351 Digital root

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4351题意: 任何数的数字根是一个个位数,如45635,则它的数字根为4+5+6+3+5=23 ->2+3=5;5是它的数字根; 现在给你一串数字,再任意给出这串数的一个子串(l,r);要你求l到r中的任意连续子串的和的数字根,输出 前五个最大的不相等的数字根,若所求数不足五个,用-1补;分析:

lqdandelion的博客 369

37张图详解MAC地址、以太网、二层转发、VLAN

MAC 地址 每个网卡或三层网口都有一个 MAC 地址, MAC 地址是烧录到硬件上,因此也称为硬件地址。MAC 地址作为数据链路设备的地址标识符,需要保证网络中的每个 MAC 地址都是唯一的,才能正确识别到数据链路上的设备。 MAC 地址由 6 个字节组成。前 3 个字节表示厂商识别码,每个网卡厂商都有特定唯一的识别数字。后 3 个字节由厂商给每个网卡进行分配。厂商可以保证生产出来的网卡不会有相同 MAC 地址的网卡。 现在可以通过软件修改 MAC 地址,虚拟机使用物理机网卡的 MAC 地址,并不能保.

networktp的博客 4745

HDU 4351

Description Tina Town is a friendly place. People there care about each other.Tina has a ball called zball. Zball is magic. It grows larger every day. On the first day, it becomestime as ...

weixin_30668887的博客 148

iTerm2+oh-my-zsh最全配置

iTerm2+oh-my-zsh最全配置安装前先看效果图一.安装[iTem2](https://iterm2.com/)二.安装[oh-my-zsh](https://ohmyz.sh/)三.安装[Powerline](https://powerline.readthedocs.io/en/latest/installation.html)四.安装 [Meslo](https://github.com/powerline/fonts) 字体库五.安装agnoster主题六.安装语法高亮七.安装代码补全插件八

xinximo的博客 2610

第4.4节:保护轴承与安全系统

飞轮储能系统的保护轴承是磁悬浮失效时的最后安全屏障,其设计需满足非干涉性、高可靠性和有限寿命承载原则。转子跌落过程包括自由下落、碰撞、进动和滑行减速等复杂非线性阶段,产生远超常规工况的冲击载荷。保护轴承需具备极限冲击容量、高温耐受性和抗卡死能力。系统采用多层级安全架构,结合故障诊断与健康管理,通过监测振动、电流等参数实现预测性维护。安全停机序列有序结合主动制动与被动摩擦制动,确保系统在极端工况下的安全。保护轴承类型多样,需根据系统规模与可靠性要求合理选择。

技术工作者 228

hdu4351

这道题我感觉应该用线段树来做,写了之后还是超时,别的优化方法想不到了,欢迎各位指教 (补充一点优化的方法,第一求root digit的时候可以直接对9取余,如果是9的倍数,那么直接就是9,第二在build的时候在最后面加这样一句话:if(b[i].sum>9) b[i].sum-=9;) 1 #include <stdio.h> 2 #include <s...

weixin_34001430的博客 133

XILINX RFSoC全面解析(五)—— Zynq UItrascale+ RF Data Converter IP核详解

这期我们来看看RFSoC独有的IP核——Zynq UItrascale+ RF Data Converter如何使用。 我使用的VIVADO版本是2018.3,这个是最低版本,要开发RFSoC,VIVADO版本必须不低于2018.3。 另外电脑配置也需要很高,64位,8核@3.4GHz CPU,16GB内存,固态硬盘基本就是低配,跑起来很勉强。建议有条件的朋友使用工作站或者服务器。 首先在VIVADO中新建一个工程,因为我使用的是xilinx官方的开发板,所以可以直接设定选board就行。 在I

1万+

hdu 4351 Digital root

http://acm.hdu.edu.cn/showproblem.php?pid=4351   这题是一道稍微复杂的区间合并线段树,因为没有query,可以写成RMQ来降低query的复杂度。   题意不难理解,先解释一下所谓的数字的根是指一个数的各位数字和的各位数字和的各位数字和的各位数字和。。。。直到数只剩一位。数字根有一个性质,就是它如果是非0,最后必然是非0的数;如果这个数模9余d,...

weixin_33885676的博客 86

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

【HDU 4351】Digital root【线段树】

这道题是考验如何处理一个区间的所有子区间

Hacb的专栏 563

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

HDU 4351 DigitalRoot

View Code 1 //Result:2012-08-12 13:44:40 Accepted 4351 812MS 11016K 3495 B C++ Wizmann 2 #include <cstdio> 3 #include <cstring> 4 #include <algorithm...

weixin_33904756的博客 132

VC中sqlite的使用

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

hdu 4351 区间合并 树根

今天T了一题,WA了一题,肿么办呢? 下面是WA的那题,按照题解写的。 12/08/13 过了几天,我知道了要用一个东西去记录树由于中间m分开的两个子区间的前缀、后缀、和,并且注意了0的数字根是0的情况, 又改了一改。 T了。 /* Pro: 0 Sol: date: */ #include #include #include using namespace std;

Julyana_Lin_夜 639

HDU-4351-线段树

这题纠结了好久。 状态转移,预处理的话要1024*1024*10*10,感觉会T,然后发现 9 当成 0 就变成了 512*512*9*9,于是就这么写了。 然后 T 了好久, 然后各种改 , IO加速。能加 inline 的都加 inline 。 依然 TLE 。 后来找一下别人的代码 , 发现 查询的时候 , 我是在每个查询里面 分别再查询 左右值。别人都放一个结构体里面,这样别人的

walk_up的专栏 686

HDU 4351 (线段树)

#include #include #include using namespace std; #define MAX 100005 int add[1025][11],res[1025][1025]; int val[MAX]; bool flag; struct node { int lsta,rsta,sta; int root; } tree[MAX<<2]; inl

BehappyXiang的专栏 718

TOJ 4351 HDU 4259 Double Dealing

Double Dealing 时间限制(普通/Java):20000MS/60000MS     运行内存限制:65536KByte   描述 Take a deck of n unique cards. Deal the entire deck out to k players in the usual way: the top card to player 1,

嗯。 1342

hdu 4351 Digital root  一个数缩减为一位数字

Digital root Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 98304/98304 K (Java/Others) Total Submission(s): 575    Accepted Submission(s): 164 Problem Description The digital root

hnust_xiehonghao的专栏 1906

hdu 4351 Digital root(线段树区间合并)

题意:给出n个数,m组询问,每次

绝望的乐园 842

HDU 4351 Digital root 线段树

裸的线段树。 每个节点记录三个值,假设当前节点表示的区间是[L, R], 记录从L开始往右连续取能取到不同的root值,从R往左连续取能取到不同的root值,在中间取得连续区间的不同的root值 合并的时候也很简单,左儿子从左边全取,然后和右儿子从左边取连续的段的所有情况合并。其他两个同理 比赛时候写漏佢直接将左右儿子的中间段值回传到父亲节点,怨念啊!!!! 如果只这样写会TLE的,注

Troy_Cornelius的专栏 1127
上一篇: POJ 4052
下一篇: POJ 4046
Benzema67
博客等级 码龄15年 120粉丝 357原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值