2019暑假多校训练第五场 | 部分题解

【第09题】给定 n 和 n 个正整数,输出其中最大的数 难度:★☆☆☆☆,经典问题:求一个数列中的最大值。 阅读详情

梦月场(出题人是dreamoon 台湾人)

所以题解都是繁体字还有聊天记录hhh

感觉都是数学题啊QAQ

题解链接: https://pan.baidu.com/s/1bJb8UPlgkahMTxpkdpyOPw 提取码: 6j4x 复制这段内容后打开百度网盘手机App,操作更方便哦

 

06 string matching

HDU 6629 扩展KMP

Alone做的

是模板题 记得用long long

#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
const int maxn=1e6+5;
char s[maxn];
long long ne[maxn];
void pre_EKMP(char x[],long long m,long long next[])
{
    next[0]=m;
    long long j=0;
    while(j+1<m&&x[j]==x[j+1]) j++;
    next[1]=j;
    long long k=1;
    for(long long i=2;i<m;i++)
    {
        long long p=next[k]+k-1;
        long long L=next[i-k];
        if(i+L<p+1) next[i]=L;
        else
        {
            j=max((long long)0,p-i+1);
            while(i+j<m&&x[i+j]==x[j]) j++;
            next[i]=j;
            k=i;
        }
    }
}
int main()
{
    //freopen("in.txt","r",stdin);
    int t;
    scanf("%d",&t);
    while(t--)
    {
        scanf("%s",s);
        long long len=strlen(s);
        pre_EKMP(s,len,ne);
        long long sum=0;
        for(long long i=1;i<len;i++)
        {
            if(ne[i]==0)
                sum++;
            else
            {
                sum+=ne[i];
                if(ne[i]+i<len)
                    sum++;
            }
        }
        //printf("\n");
        printf("%lld\n",sum);
    }
    return 0;
}

 

07 permutation 2

HDU 6630 推公式

证明

 

感谢桑老师借我平板写过程orz

(平板真好玩)

AC代码如下:

#include <cstdio>
#include <cmath>
#include <algorithm>
#include <iostream>
#include <cstring>
#include <queue>
#include <vector>
#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll mod = 998244353;
ll a[200005];

int main()
{
    a[0] = 0;
    a[1] = 1;
    a[2] = 1;
    a[3] = 1;
    a[4] = 2;
    a[5] = 3;
    a[6] = 4;
    a[7] = 6;
    a[8] = 9;
    for (int i = 8; i < 200005; i++) {
        a[i] = (a[i - 3] % mod + a[i - 1] % mod ) % mod;
    }
    int t, n, x, y;
    ll L, R;
    scanf("%d", &t);
   // printf("%lld\n", a[50629]);

    while (t--) {
        scanf("%d%d%d", &n, &x, &y);
        if (x == 1) {
            L = 1;
        } else {
            L = x + 1;
        }
        if (y == n) {
            R = n;
        } else {
            R = y - 1;
        }
        printf("%lld\n", a[R - L + 1]);
    }
    return 0;
}

 

04 equation

HDU 6627 数学题

题目大意:给出下列式子的C,M,ai,bi,

\sum_{i=1}^ {M} \left |ai*x+bi \right | = C

求 x 的所有解

如果无解输出 0,有无穷解就输出 -1

其他情况就是输出解的个数以及解的分数形式(0 输出 0/1)

解决方法:先将所有的ai系数相加,所有的bi的系数相加

x1,x2,x3,……xm从小到大排序 (a1*x1+b1=0时成立)

得到 n+1 个区间

枚举所有区间的解 判断该解是否在区间内,存到数组中记录

#include <stdio.h>
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
struct node {
    int a, b;
    double x;
    int id;
} mm[100050], ans[100050];
queue<node>q;
int A[100050], B[100050];
int sum_a = 0, sum_b = 0, n, c, f, num;
double l, r;
int gcd(int a,int b)
{
    return b? gcd(b,a%b):a;
}
bool cmp(node xx, node yy)
{
    if (xx.x != yy.x) {
        return xx.x < yy.x;
    } else {
        return xx.id < yy.id;
    }
}

void run()
{
    if (sum_a == 0 && sum_b == c) {
        f = 1;
        return ;
    }
    double aa;
    aa = (double)(c - sum_b)/sum_a;
    if (aa > l && aa <= r) {
        int as = 1;
        if (aa < 0) {
            as = -1;
        }
        int xx = abs(c - sum_b), yy = abs(sum_a);
        int zz = 0;
        if (xx == 0) {
            zz = yy;
        } else {
            zz = gcd(xx, yy);//自带gcd,尽量少用
        }
//        node k ;
//        k.a = xx / zz * as;
//        k.b = yy / zz;
//        q.push(k);
        ans[num].a = xx / zz * as;
        ans[num].b = yy / zz;
        num++;
    }
    return;
}
int main()
{
    int t;
    scanf("%d", &t);
    while (t--) {
//        while (!q.empty()) {
//            q.pop();
//        }
        memset(A, 0, sizeof A);
        memset(B, 0, sizeof B);
        f = 0;
        sum_a = 0, sum_b = 0;
        scanf("%d%d", &n, &c);
        for (int i = 0; i < n; i++) {
            scanf("%d%d", &A[i], &B[i]);
            mm[i].a = A[i];
            mm[i].b = B[i];
            mm[i].id = i;
            mm[i].x = (double)B[i] / A[i] * (-1.0);
            sum_a -= A[i];
            sum_b -= B[i];
        }
        sort(mm, mm + n, cmp);
        num = 0;
        l = -1e15, r = -1e15;
        mm[n].x = 1e15;
        for (int i = 0; i <= n; i++) {
            l = r, r = mm[i].x;
            if (f != 1) {
                run();
            }
            sum_a += mm[i].a * 2;
            sum_b += mm[i].b * 2;
        }
        if (f == 1) {
            printf("-1\n");
        } else {
//            printf("%d",q.size());
            printf("%d", num);
            for (int i = 0; i < num; i++) {
//            for (int i = 0; i < q.size(); i++) {
//                while (!q.empty()) {
//                    node k = q.front();
//                    q.pop();
//                    printf(" %d/%d", k.a, k.b);
                printf(" %d/%d", ans[i].a, ans[i].b);
//                }
            }
            printf("\n");
        }
    }
    return 0;
}

 

05 permutation 1

HDU 6628 全排列

关于全排列函数 next_permutation() 的使用 参考:https://blog.youkuaiyun.com/AC_Gibson/article/details/45308645

题目大意:询问 T 次,求出1~ N 的全排列中以相邻元素之差字典序从小到大排序的第 K 个序列。

 

 

 

08

HDU 几何

射频微波电路设计【1.4】 AppCAD是一组射频设计工具和计算机应用说明,它使射频工程师能以更快和更容易的方式设计他们的产品。该软件的理 念是为工程师提供一个“个人设计助理”,即功能强大、快速和容易使用的辅助设计工具。该软件包括如下基本功能: ·各种传输线电气参数的分析与计算;·各种匹配电路的分析与计算;·各种有源和无源简单电路的分析与计算;·射频系统指标的计算:增益、噪声系数、三阶交调、信噪比、灵敏度等;·器件可靠性分析。 阅读详情

相关推荐

淘特App x-sign参数逆向实战:从抓包到算法定位

本文详细解析了淘特App的x-sign参数逆向过程,从抓包分析到算法定位,涵盖了使用jadx-gui进行静态分析、Frida动态Hook验证以及Native层算法还原等关键技术。文章重点介绍了x-sign参数的生成机制及其在阿里系应用中的安全防护策略,为逆向工程师提供了实用的调试技巧和对抗策略。

5b6n7m8的博客 227

2019牛客多校第五场

A.digits 2 传送:https://ac.nowcoder.com/acm/contest/885/A 题意:构造一个不超过$10^4$位的十进制数,且满足这个数是$n$的倍数,且每一位的和是$n$的倍数。 数据范围:$1<=n<=100$。 分析:直接构造$n$个$n$即可。 1 #include<bits/stdc++.h> 2...

weixin_30596165的博客 130

抖音自定义卡片链接(图文链接)

抖音自定义可以自定义标题,打开链接,和展示图片 效果 主要代码 public void sendMessage(String conversationId, Object aBaseContent) throws Exception { // C233282u5.LIZIZ.LIZ().LIZIZ(LIZ).LIZ(obtain).LIZ(hLn).LIZ((AbstractC59811HHc) new H9Q()); Object HOa = ReflectionUtil

傅恒的博客 4140

HDU 4423 Simple Function(数学题,2012长春D题)

Simple Function Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 111    Accepted Submission(s): 31 Problem Description Knowing that x can be a...

weixin_34194702的博客 211

RK3576+IMX415 MIPI摄像头零拷贝显示系统

MIPI CSI-2是嵌入式视觉系统中主流的高速图像传感器接口标准,其核心价值在于低延迟、高带宽与硬件级DMA直通能力。基于V4L2子系统与DRM/KMS驱动栈,可构建从传感器RAW数据到帧缓冲区的零拷贝通路,显著降低CPU负载并提升实时性。该技术广泛应用于工业检测、边缘AI推理前数据接入及多路同步采集等场景。本文以Rockchip RK3576 SoC和索尼IMX415传感器为典型组合,详解MIPI物理层适配、内核驱动集成、GStreamer零拷贝管道搭建及systemd服务化部署,覆盖从硬件信号完整性到

weixin_36047538的博客 216

sec_uid

webcast_uid转sec_uid,webcast_uid转uid,webcast_uid转dy号

m0_56967679的博客 4420

2019杭电多校第五场补题

1001:fraction bx≡a(mod p)可以转换为:bx-kp = a.因为a的范围是(0,b),则列出不等式 又因为1<x<p,所以两个端点 0,b 都不可能取到。 则有px&lt;=bk&lt;=px−1\frac{p}{x}&lt;=\frac{b}{k}&lt;=\frac{p}{x-1}xp​<=kb​<=x−1p​。据说...

积极的防守者的博客 365

模型实战(32)之 yolo26 实现对全身关键点数据集 的训练与关键点检测

模型实战(32)之 yolo26 实现对全身关键点数据集 的训练与关键点检测

yohnyang的博客 89

设有n个正整数,将他们连接成一排,组成一个最大的多位整数

题目描述:设有n个正整数,将他们连接成一排,组成一个最大的多位整数。如:n=3时,3个整数13,312,343,连成的最大整数为34331213。如:n=4时,4个整数7,13,4,246连接成的最大整数为7424613。输入描述:有多组测试样例,每组测试样例包含两行,第一行为一个整数N(N&lt;=100),第二行包含N个数(每个数不超过1000,空格分开)。输出描述:每组数据输出一个表示最大的...

constantin_的博客 8375

手把手教你学PCIE(9.3)--pcie常见故障及原因:配置错误介绍

PCIe 设备的配置错误可能涉及操作系统设置、BIOS 设置、驱动程序设置和配置文件设置等多个方面。通过以上方法,可以有效地诊断和解决 PCIe 设备的配置错误。

MHD0815的博客 2437

Coze实战:解锁多Bot协同与条件分支工作流的奥秘

本文详细介绍了在字节跳动Coze平台实现多Bot协同与条件分支工作流的方法。首先阐述了Coze平台的功能优势,包括丰富的插件、知识库和工作流功能。随后分步骤讲解了多Bot协同的实现:从准备工作、创建Bot到协同配置,并提供了电商客服的实例演示。在条件分支工作流部分,详细说明了条件节点的作用类型、条件设定方法以及具体配置操作,强调测试优化的重要性。最后通过电商平台综合案例,展示了多Bot协同与条件分支的实际应用效果,并针对常见问题提供解决方案。文章为开发者在Coze平台上构建智能应用提供了实用指导,有助于提升

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 450

[2019CSP多校联赛普及组第五周] 调度CPU (贪心)

来来来,走过路过不要错过题目题解代码实现1代码实现2 题目 ⼩Y同学有⼀块超级CPU,它有两个超级核⼼A和B。 A核⼼可以同时处理多项任务,每项任务处理时间为x,B核⼼只能同时处理⼀项任务,每项任务处理时间为y。 这⼀天,⼩Y同学接到了n项紧急任务,第i项紧急任务在ti时刻发出,且必须在任务发出时进⾏处理。 由于⼩Y可以调节CPU的B核⼼,你想知道对于y∈1,x,处理完毕所有任务的最早时间是多少...

711

ESP-IDF OTA升级过程中遇到的“esp_transport_read returned:-1 and errno:128”问题(4)

ESP-IDF OTA升级过程中遇到的“esp_transport_read returned:-1 and errno:128”问题(4)

phmatthaus的专栏 1532

2021暑假训练

Stacks #include <stdio.h> #include <stdarg.h> #include <stdlib.h> #include <math.h> #include <string.h> #include <vector> #include <list> #include <set> #include <utility> #include <map> #include

whisper-x的博客 1336

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

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

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

2019牛客暑期多校训练营(第五场)G- subsequence 1 【DP+组合数】

2019牛客暑期多校训练营(第五场)G- subsequence 1 【DP+组合数】 大致题意: 给你两个正整数n,m,分别表示 s 字符串和 t 字符串的长度,接下两行分别是 s 字符串和 t 字符串。问你可以在 s 字符串中找到多少种有效子序列(不含前导零)构成的整数比 t 字符串所构成的整数大? 参考资料: 1、https://blog.youkuaiyun.com/anthony1314/artic...

weixin_43334251的博客 197

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

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

2019牛客暑期多校训练(第五场)C-generator 2

2019牛客暑期多校训练(第五场)C-generator 2 题目描述 There is a sequence of length n:x0,x1,x2,…,xn−1. Please answer Q queries. Each query consists of one integer v, asking the minimum index i such that xi=v. If the se...

BenFromHRBUST的优快云博客 494

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

2019hdu暑假多校训练赛第五场1005 permutation 1 hdu 6628(全排列)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6628 题意:给定n和k,要求用1到n求出一个序列使得这个序列后一项减前一项形成的n-1长度的序列的字典序最小。 数据范围:1≤T≤40,2≤N≤20,1≤K≤min(1e4,N!) 思路:首先字典序最小的序列一定是n,1,2,3.........n-2,n-1这样的。再考虑8的阶乘是40...

hrbust-nzc的博客 689

2019暑期训练

牛客多校: A B C D E F G H I J 第一场题解 笛卡尔树(不会)/单调栈 数学推公式 暴力 DP 数学推公式 线性基 线段树+动态规划 水题 通过情况 √ √ √ √ √ √ 待补 √ 第二场 ...

weixin_30633949的博客 134

暑假N天乐【比赛篇】 —— 2019杭电暑期多校训练营(第五场)

开启疯狂水题解模式,大概会持续好几次...直到我赶上进度为止。 以下题解包括: \[1001【HDU-6624】 \\ 1004【HDU-6627】 \\ 1005【HDU-6628】 \\ 1006【HDU-6629】 \\ 1007【HDU-6630】\] 【1001】 数学 HDU-6624 fraction http://acm.hdu.edu.cn/showproblem.p...

weixin_30819163的博客 158

2019牛客暑期多校训练营(第五场)G:subsequence 1(递推)

【题解】 题意:输出S中所有大于T的数字子序列的个数。 思路:首先考虑到如果选取的数字子序列的长度大于m并去除前导0的干扰,那么肯定成立。所以比较复杂的是长度相等的情况,这里我用了递推。 dp[i][j] 表示当S推导到位置 i 时,长度为 j 的数字子序列的个数,我们只要在长度为1的时候特殊处理0的情况就可以排除前导0的干扰了。递推式:dp[i][j]=dp[i-1][j]+dp[i-1]...

菜鸡成长史 240

2019牛客暑期多校训练营(第五场)G subsequence 1(DP+组合数学)

链接:https://ac.nowcoder.com/acm/contest/885/G 题意:T组样例,每组样例第一行给出n、m,表示字符串s的长度和字符串t的长度。接下来两行分别给出s和t。s和t都由阿拉伯数字组成。保证n>=m,并且他们的第一个字符都不是0。问s中有多少子序列大于t(当然不能有前导零)。 思路:显然,如果子序列第一位不为0,并且长度大于t,那么子序列组成的数肯定大于...

birdmanqin的博客 344

2020 牛客暑假训练营补题 (第五场)

暑假还是不能摸鱼了,尽量每天补一道题。 这里大部分的补题应该都是参考了大佬的题解,所以如果有大佬看到了自己的解法,请多多包涵。 第五场I题题目描述题目思路代码 I题 题目描述 这道题题目描述很长,但是题目要求实际上不多,就是给出矩阵的行数和列数n,m,每个位置可以放一个G或H或E。求出满足条件的最大的H数量情况下 该式的值。 需要满足每个H旁边至少有一个E和一个G。 题目思路 这道题开始想的时候就是把所有东西竖着排列,但是发现这样对每个G和E的利用率不高,H个数自然会少。 然后就是组长发的一个图,通过交

AmaranthAksnes的博客 244

暑假训练-个人赛第五场

ID Origin Title 0/23 Problem A SGU 453 Meetings Problem B SGU 454 Kakuro 10/58 Problem C SGU 455 Sequence analysis 14/52 Problem D SG...

weixin_30790841的博客 142

unity3d怎么让模型动起来_让学生动起来,这样的风雨操场设计怎么能让人不爱上体育?...

学生时代,体育老师似乎是所有老师中身体最“差”的。三天两头“生病”,体育课也“被迫”改为语数外。但这一情况正在迎来转变,体育老师的“病”终于要好了。10月15日,中办、国办印发《关于全面加强和改进新时代学校体育工作的意见》和《关于全面加强和改进新时代学校美育工作的意见》。两份意见发布,宣告体育和美育被纳入中考。12月14日,教育部召开第五场2020年“收官”系列新闻发布会,教育部体育卫生与艺术教育...

weixin_42317482的博客 365

2019杭电多校第五场

有两个题队友补的,先安利一波 2019hdu暑假多校第五场1004 equation HDU - 6627 2019hdu暑假多校第五场1007 permutation 2 HDU - 6630 1005 permutation 1 HDU 6628 题意:给你一个n和k,求n的全排列中,相邻两数的差值的数组字典序第k小的排列 思路:其实就是两个字,暴力....... 字典序第k小,k...

Starbucks 347
上一篇: 2019CCPC江苏南京女生赛 | 题解
下一篇: 2019暑假多校训练第六场 | 部分题解
OneLine_
博客等级 码龄9年 48粉丝 72原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值