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

2020牛客暑期多校集训营第二场题解.pdf 立即下载

这次没有爆零

有点感动

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

10 Just Skip The Problem 

HDU 6600 考虑二进制

题目大意:有一个数x 在范围0~ (2^n)-1 内

询问 一个数 y 给出答案 x & y==y 

可以询问多次 询问之后 一起给出回答

可以简单证明得到 

范围是 0~(2^n)-1时 需要n个数得到最小的方案数 

因为两个方案的询问次序不同可算作两种方案 

所以 答案是 n !

PS:当n>1000003 时 乘积已经可以整除1000003了 得到0

举个栗子:

#include <stdio.h>
#include <string.h>
#include <iostream>
#include <math.h>
#include <bits/stdc++.h>
using namespace std;
#define ll long long
int const mod = 1e6 + 3;
ll a[1000005];
int main()
{
    int n;
    ll  ans = 1;
    for (int i = 1; i < 1000005; i++) {
        ans = (ans * i) % mod;
        a[i] = ans;
    }
    while (~scanf("%d", &n)) {
        if (n >= mod) {
            printf("0\n");
        } else {
            printf("%lld\n", a[n]);
        }
    }
    return 0;
}

 

05 Everything Is Generated In Equal Probability 

HDU 6595 找规律 + 求逆元

\frac{1}{3}=\frac{3}{9}

\frac{8}{9}

\frac{2}{3}+1=\frac{ 5}{3}=\frac{15}{9}

所以分子是 3 8 15 24……

分母是9

(不是我推的 我好菜啊TAT)

然后求逆元emmm

#include <stdio.h>
#include <string.h>
#include <iostream>
#include <math.h>
#include <bits/stdc++.h>
using namespace std;
#define ll long long
ll const mod = 998244353;
ll quickpow(ll x, ll n)
{
    int res = x;
    int ans = 1;
    while (n) {
        if (n & 1) {
            ans = (ans % mod * (res % mod)) % mod ;
        }
        res = (res % mod * (res % mod)) % mod ;
        n = n >> 1;
    }
    return ans;
}
int main()
{
    int n;
    while (~scanf("%d", &n)) {
        ll t = 3;
        ll ans = 0;
        for (int i = 1; i < n; i++) {
            ans += t;
            t = t + 2;
        }
        //  printf("%lld\n", quickpow(9,mod-2)%mod);
        printf("%lld\n", (ans * quickpow(9, mod - 2)) % mod);
    }

    return 0;
}

 

11 Keen On Everything But Triangle

HDU 6601 主席树+ 斐波那契前44个

参考:https://www.cnblogs.com/Chen-Jr/p/11240189.html

 

用了bin巨的模板 但是 这是找主席树第K小的

所以在最后算三角形周长的时候需要 变换一下

找最大的能组成三角形的三个数

#include <stdio.h>
#include <math.h>
#include <bits/stdc++.h>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
#define ll long long
const int maxn = 100010;
const int M = maxn * 30;
int q, n, m, tot;
int a[maxn], t[maxn];
int T[maxn], lson[M], rson[M], c[M];
void Init_hash()//将数组复制到另一个数组 并排序去重
{
    for (int i = 1; i <= n; i++) {
        t[i] = a[i];
    }
    sort(t + 1, t + 1 + n);
    m = unique(t + 1, t + 1 + n) - t - 1;
}
int build(int l, int r)//建树
{
    int root = tot++;
    c[root] = 0;
    if (l != r) {
        int mid = (l + r) >> 1;
        lson[root] = build(l, mid);
        rson[root] = build(mid + 1, r);
    }
    return root;
}
int Hash(int x)//快速找到x的位置
{
    return lower_bound(t + 1, t + 1 + m, x) - t;
}
int update(int root, int pos, int val)//更新节点
{
    int newroot = tot++, tmp = newroot;
    c[newroot] = c[root] + val;
    int l = 1, r = m;
    while (l < r) {
        int mid = (l + r) >> 1;
        if (pos <= mid) {
            lson[newroot] = tot++;
            rson[newroot] = rson[root];
            newroot = lson[newroot];
            root = lson[root];
            r = mid;
        } else {
            rson[newroot] = tot++;
            lson[newroot] = lson[root];
            newroot = rson[newroot];
            root = rson[root];
            l = mid + 1;
        }
        c[newroot] = c[root] + val;
    }
    return tmp;
}
int query(int left_root, int right_root, int k)//查询l ~r中第k小的
{
    int l = 1, r = m;
    while (l < r) {
        int mid = (l + r) >> 1;
        if (c[lson[left_root]] - c[lson[right_root]] >= k) {
            r = mid;
            left_root = lson[left_root];
            right_root = lson[right_root];

        } else {
            l = mid + 1;
            k -= c[lson[left_root]] - c[lson[right_root]];
            left_root = rson[left_root];
            right_root = rson[right_root];
        }
    }
    return l;
}
int main()
{
    while (~scanf("%d%d", &n, &q)) {
        tot = 0;
        for (int i = 1; i <= n; i++) {
            scanf("%d", &a[i]);
        }
        Init_hash();
        T[n + 1] = build(1, m);
        for (int i = n; i > 0; i--) {
            int pos = Hash(a[i]);
            T[i] = update(T[i + 1], pos, 1);
        }
        while (q--) {
            int l, r, k;
            scanf("%d%d", &l, &r);
            int m = r - l + 1;
            ll ans = -1;
            while (m >= 3) {
                int a = t[query(T[l], T[r + 1], m)];
                int b = t[query(T[l], T[r + 1], m - 1)];
                int c = t[query(T[l], T[r + 1], m - 2)];
                if (b + c > a) {
                    ans = 1ll * a + 1ll * b + 1ll * c ;
                    break;
                }
                m--;
            }
            printf("%lld\n", ans);
        }
    }
    return 0;
}

12 Longest Subarray

HDU 6602 线段树

题目大意:给 n 个数字,这串数字中范围是1~c,合法条件是某一段区间内出现任何一个数字,它出现的次数>=k或者=0

求合法条件下的最长连续子序列的长度是多少?

 

 

09 I Love Palindrome String 

HDU 6599 

 

 

 

基于VH6501的Busoff测试 摘要: 本文介绍使用VH6501和CANoe工具测试ECU的Busoff Recovery机制。通过干扰报文触发Busoff状态,验证快恢复(连续32次,间隔100ms)和慢恢复(间隔1000ms)的时序及次数是否符合要求。测试步骤包括硬件配置、干扰参数设置及Trace窗口错误帧分析,最终通过错误帧间隔判定恢复机制的正确性。 阅读详情

相关推荐

宋浩线性代数笔记

Miao-A-SongHao-Linear-Algebra-Notes bilibili 宋浩老师 “惊叹号” 系列 《线性代数》网课 笔记及时间点目录 Github项目地址:https://github.com/cy69855522/Miao-A-SongHao-Linear-Algebra-Notes ???? 前言 我发现吧,线代没记笔记真不行。 浩浩学习,天天向上。数学网课推荐????宋浩老师的免...

Knife丶小刀博客 4万+

2019杭电多校部分题解的blog合集

HDU杭电多校第五场 6628 permutation 1 https://blog.youkuaiyun.com/zufesatoshi/article/details/98615028 最小费用最大流模板(ek和dinic) https://blog.youkuaiyun.com/zufesatoshi/article/details/89708281 杭电多校第三场 game 带修莫队 https://blog.c...

zufesatoshi的博客 346

Windows server Database 2025 安装 i225/i226 网卡驱动

Windows server Database 2025 安装 i225/i226 网卡驱动 windows这比坏得很,intel消费级网卡不准在服务器系统上安装。你要说他是异构不支持?他就纯粹恶心人。 之前已经安装过一次,但是今天database预览版一更新,又给我把网卡驱动杀了,气死,写一篇教程。 到这里就完成了,总之还是想辱骂windows,提供便捷的同时又人为制造困难,多少有点(隔壁linux内核直接自带全家桶了就一省心) 并且近年Intel的新U安装显卡驱动和普通声卡驱动都不会出声

低温热源的博客 1万+

2019杭电多校第二场补题

B: Beauty Of Unimodal Sequence(树状数组+贪心) 用dp[i][0]dp[i][0]dp[i][0]表示以a[i]a[i]a[i]开头的最长递减子序列,dp[i][1]dp[i][1]dp[i][1]表示以a[i]a[i]a[i]开头的最长单峰子序列,这两个东西可以从后往前用树状数组 O(nlogn)O(nlogn)O(nlogn)求出来。 这样我们得到了最长单峰子序...

积极的防守者的博客 345

利用ORCAD/pspice 仿真分析电路的幅度相位谱

利用ORCAD的pspice仿真分析电路的相位谱1.介绍2.搭建电路原理图3.建立仿真文件,进行交流分析4.仿真、查看输出5.总结 1.介绍 orcad配合pspice一直是电路原理图绘制和仿真的主要工具,pspice工具提供了诸如暂态分析、直流分析、交流分析等多个工具。学校主要教的是multisim,对orcad讲得很少,最进要利用orcad对运放构成的电路的频响、相移特性进行分析,发现资料幅度...

qq_40011737的博客 1万+

AFSim 2.9实战指南:从入门到精通的中文教程

本文是AFSim 2.9的实战指南,提供从零开始的中文教程。内容涵盖仿真环境搭建、实体行为控制、脚本编写,到传感器、武器系统集成与复杂想定构建,最后讲解数据记录与结果分析方法,帮助用户快速掌握这一强大的军事仿真框架。

weixin_29281941的博客 943

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

第一次打杭电多校 被虐惨了 慢慢补题填坑~~ 偶觉得 那种几百个队都过的题还是得会啊QAQ 放一下官方题解8 链接: https://pan.baidu.com/s/14Csn7yWvuNQOJGRe7-GsOA 提取码: rbjf 复制这段内容后打开百度网盘手机App,操作更方便哦 04 Vacation HDU6581数学思维题 车队里最慢的车 不会追上前面的车 但是...

OneLine_的博客 373

NDVI空间分布变化Slope趋势分析与F检验(自用)

1.NDVI数据预处理2.一元线性回归分析3.Slope趋势分析与F检验

什么都学亿点点的博客 9017

2019多校第二场:Everything Is Generated In Equal Probability

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6595 解题心得:遇事不决就打表,瞎打了几个表出来发现其中有一项有个(1/3)(1/3)(1/3)的递增关系,然后直接写就过了。 #include <bits/stdc++.h> using namespace std; typedef long long ll; const int m...

二营长的意大利炮友 165

避坑指南:STM32F4的ADC采样FSR传感器,如何稳定读数并校准压力值?

本文详细解析了STM32F4的ADC采样FSR薄膜压力传感器时遇到的读数不稳定和非线性校准问题,提供了从硬件配置到软件滤波的完整解决方案。通过优化ADC设置、改进滤波算法和实施分段线性校准,帮助工程师实现高精度压力测量,特别适用于智能手套和医疗监测等应用场景。

weixin_28675839的博客 273

5QI(5G QoS Identifier)

此外,5QI与网络切片(Network Slicing)密切相关,网络切片允许网络运营商在物理网络内部创建虚拟网络,为不同的客户和用例提供定制化服务和QoS。5QI(5G QoS Identifier)在5G网络中用于标识不同的服务质量要求,它允许网络对不同的数据流进行优先级划分和资源分配。:5QI的实施需要对5G网络的QoS参数有深入的理解,包括延迟、吞吐量、数据包丢失率等,这对技术人员提出了较高的要求。不是所有的5G设备都支持5QI的全部功能,这可能会限制5QI应用的广泛性。

记录有价值的内容 6531

2019牛客暑期多校训练营(第二场)----赛后/补题感悟

点击这里回到2019牛客暑期多校训练营解题—目录贴 菜鸡感悟   补题依旧很慢,终于搞完了了爆零场,说实话有些题花了我好长时间找算法和理解。。。 ...

weixin_43702895的博客 289

【YOLO部署Android安卓手机APP】YOLO11部署到安卓实时目标检测识别——以火焰烟雾目标检测识别举例(可自定义更换其他目标)

本项目基于YOLOv11部署到手机APP实现对火焰烟雾的检测识别,当然,以此你可以按照本项目开发步骤扩展更换为其他目标进行检测,例如更换为车牌、手势、人脸面部活动、人脸表情、火焰烟雾、行人、口罩、行为、水果、植物、农作物等等部署手机APP进行检测。本文为详细设计/配置文档,包含完整所需的环境配置搭建,项目工程配置步骤等,手把手记录使用pycharm和Android studio的工程开发过程,实现YOLO部署到安卓。实战开发,亲测无误。演示视频训练了50轮进行了展示(为演示,训练轮数较少,你可以训练轮数多些

嵌入式阿齐Archie 1万+

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

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

2020牛客暑期多校训练营(第二场)A、B、C、D、F、G、J题解及补题

文章目录2020年牛客多校训练2题解比赛过程题解A题意解法代码B题意解法代码C题意解法代码D题意解法代码E题意解法代码F题意解法代码G题意解法代码H题意解法代码I题意解法代码J题意解法代码K题意解法代码 2020年牛客多校训练2题解 比赛过程 一共出了三题。首先打卡了D题,出的不算快,然后同时开了F和C,F没有想到单调队列,靠猜想混过的,导致TLE、WA了n发,然后继续做C。过了之后开B,没想到好思路。这场比赛较第一场交流上好了一点,赛后补了A、B、G、J。 题解 A 题意 给你n个字符串,求∑i=0n∑j

hzerotole的博客 439

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

2020暑假牛客多校训练营第二场

文章目录F.Fake Maxpooling F.Fake Maxpooling 题目描述 给定一个n∗mn*mn∗m的矩阵,矩阵的每个值为a[i][j]=lcm(i,j)a[i][j] = lcm(i,j)a[i][j]=lcm(i,j),求kkk个子矩阵中最大值之和。 思路 k为固定长度,求滑动区间的最大值或最小值就是滑动窗口,用单调队列维护就行。这题先维护一遍nnn行的最值,把最值记录下来,再跑一遍mmm列刚才所记录的最值,同时输出最大值。 比赛的时候发现单调队列的队列用deque时被卡常了,改成手写队

cjlu zx的博客 1180

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

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

2021牛客暑期多校训练营2(线段树待补)

2021牛客暑期多校训练营2 暑假第二次训练赛,选取能做的题来整理

C_eeking的博客 396

2024暑假牛客多校训练营第二场题解(细述I,H)

没错,就是前缀和,我们先全部都取,然后看看从0,0取到第i个操作走到哪了,再看看这个点离x,y还差了多少,看看前面走过的部分有没有这些差值,我们把这些差值去掉不就相当于到了x,y?因此我们每次走过一个操作,就储存这次操作后的坐标,让那个坐标对应的值加1,然后再去找对当前坐标来说,和x,y差了多少,看看之前有没有走到过这样的差值坐标,走到过几次,把那部分去掉就是我们到x,y需要的子串,然后对于后面的随便取都是答案,贡献就是差值坐标的数量*i后面的串的长度(包括i本身别忘了)。

2301_79801805的博客 742

2019暑期训练

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

weixin_30633949的博客 134

2020牛客暑期多校训练营(第二场)

C Cover the Tree 题意:给你一棵n和节点的树,然后给出组成这棵树的n-1条边。让你找最少的链,使得所有的链走过的节点覆盖了整棵树。答案需要你输出方案数和具体的方案。 思路:最优的想法就是从这个叶子结点连到另一个叶子结点,因为这样可以经过的节点最多。那么怎么去分配这些点呢,问题就在这里,解决了这个就没得问题了。 我们可以找一棵树随便玩一下: 假如我们选择相邻的两个叶子结点,4和5 还有 6和7,那么我们是不是就无法覆盖到1节点,然后还需要再连接一条 4或者5 到 6或者7 的边才可以覆盖到1

CCSU_GCR的博客 618

2018暑假套题练习记录

2017杭电女生赛 7/10

yqdjl6的博客 241

2019牛客暑期多校训练营(第一场)B.Integration(留数定理)

2019牛客暑期多校训练营(第一场)B.Integration(留数定理) 题目大意 总所周知 ∫0∞11+x2dx=π2 \int_0^{\infty}\frac{1}{1+x^2}dx=\frac{\pi}{2} ∫0∞​1+x21​dx=2π​ ,现求 1π∫0∞1∏i=1n(ai2+x2)dx \frac{1}{\pi}\int_0^\infty\frac{1}{\prod_{i=1}^n...

FLY_WHITE的博客 374

Stack(牛客2021暑假训练赛第二场)

Stack 题目: 链接: link. 题意: 有一个长度为nnn的数组bbb,只知道其中的kkk个元素,求排列aaa,数组bbb由排列aaa对应的伪代码生成,根据伪代码推得,当aaaaaa<bbbbbb时不存在符合条件的方案,直接输出“-1”,当栈的元素数目小于a[i]a[i]a[i]时,对栈进行填充,推入新的值,得到每次的ans后删除栈顶元素。 AC代码: #include<bits/stdc++.h> using namespace std; int a[1000010],an

qizhiqiqwq的博客 128

暑假集训总结

在集训期间训练和学习的内容包括离散化、KMP、Tire、并查集、二分图匹配、树状数组、线段树、DFS、BFS、状压DP、环状DP、二分答案、多源BFS、多源DFS、双端队列、双向广搜、迭代加深、拓扑排序等内容,收获了许多的东西,从一开始见到题目就发愁想不出来怎么写,慢慢的到见到题目之后知道这个题目考察的是什么知识点,感觉慢慢的打开了算法世界的大门,我感觉这是一种心态的转变也是成长。竞赛之路还很长,现在只是开始,后面还有数不尽的困难在等着我们,但是我也并不气馁,千里之行始于足下,现在就要开始加把劲了。....

Stephen_Curry___的博客 403

2017 秋校招经历记录

一. 准备面试秋招可谓是每年应届毕业生求职的最佳阶段,大致集中在每年的9,10月份。所以,如果要是想找工作的同学们需要在这之前多做准备,在大三的暑假基本上就应该确定自己的求职方向,并且做出一些准备。 我由于暑假参加了学校安排的暑期实训,所以去了大连呆了有四十天左右,完美错过了准备时间。 回来后,参加了一场华为的面试,感觉不行,然后直接在网上买了一本面试的书。 接下来就是刷书,参加宣讲会,笔试,

Tadecather's Blog 305
上一篇: 2019CCPC江西省赛(重现赛)| 题目 & 题解
下一篇: 2019暑假多校训练第一场 | 部分题解
OneLine_
博客等级 码龄9年 48粉丝 72原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值