牛客练习赛51 A-E

【通信协议】I2C总线(一主多从) I2C总线(一主多从)之软件模拟代码详解 阅读详情

A - abc

水

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int MAXN = 1e5+7;

int a[MAXN],c[MAXN];
char s[MAXN];
int main() {
        scanf("%s",s);
        int len = strlen(s);
        memset(a,0,sizeof(a));
        memset(c,0,sizeof(c));
        ll ans = 0;

        for(int i=0;i<len;++i)
                if(s[i]=='a')   a[i] = a[i-1]+1;
                else            a[i] = a[i-1];
        for(int i=len-1;i>0;--i)
                if(s[i]=='c')   c[i] = c[i+1]+1;
                else            c[i] = c[i+1];
        for(int i=0;i<len;++i)
                if(s[i]=='b')
                        ans += (ll)a[i]*c[i];
        printf("%lld\n",ans);
        return 0;
}

B - 子串查询

主要是学习了一下string 中 find 的用法
字符串,暴力

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int MAXN = 1e5+7;


int main() {
        int n,q;
        string s;
        cin>>n>>q>>s;
        while(q--) {
                string a;
                cin>>a;
                int pos = 0, flag = 1;
                for(int i=0;i<a.length();++i) {
                        int it = s.find(a[i],pos);//从串s的pos位置开始往后找
                        if(it == s.npos) {//没找到就返回npos
                                flag = 0;
                                break;
                        }
                        else    pos = it + 1;
                }
                if(flag)        cout<<"YES"<<endl;
                else            cout<<"NO"<<endl;
        }
        return 0;
}

C - 勾股定理

数学题

根据维基百科我们可以知道
找寻勾股数的小技巧:
若需要一组最小数为奇数的勾股数,可任意选取一个 3 或以上的奇数,将该数自乘为平方数,除以 2,答案加减 0.5 可得到两个新的数字,这两个数字连同一开始选取的奇数,三者必定形成一组勾股数。但却不一定是以这个选取数字为起首勾股数的唯一可能,例如 ( 27 , 364 , 365 ) {\displaystyle (27,364,365)} (27,364,365)并非是以 27 为起首的唯一勾股数,因为存在另一个勾股数是 ( 27 , 36 , 45 ) {\displaystyle (27,36,45)} (27,36,45),同样也以 27 为首
对于任何大于1的整数 x , x 2 + 1 、 x 2 − 1 与 2 x x,x^2+1、x^2-1与2x x,x2+1、x2−1与2x,三个数必为勾股数

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;

int main() {
        ll n;
        cin>>n;
        if(n<=2)        cout<<-1<<endl;
        else if(n&1) {
                n>>=1;
                cout<<2*n*n+2*n<<" "<<2*n*n+2*n+1<<endl;
        }
        else {
                n>>=1;
                cout<<n*n-1<<" "<<n*n+1<<endl;
        }
        return 0;
}

D - 羊吃草

这个是贪心写出来的(因为数据范围比较小)

正解应该是二分图匹配

//贪心
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int MAXN = 1e3+7;
struct line{
        int l,r;
}L[MAXN];
bool cmp(line x,line y){
        if(x.r==y.r)    return x.l<y.l;
        return x.r<y.r;
}
bool vis[MAXN];

int main() {
        // freopen("../in.txt","r",stdin);
        // freopen("../out.txt","w",stdout);
        ios::sync_with_stdio(0);
        int n,q;
        cin>>n>>q;
        for(int i=0;i<n;++i)    cin>>L[i].l;
        for(int i=0;i<n;++i)    cin>>L[i].r;

        sort(L,L+n,cmp);

        while(q--) {
                memset(vis,0,sizeof(vis));
                int ans = 0;
                int l,r;
                cin>>l>>r;
                for(int i=0;i<n;++i) {
                        for(int j=L[i].l;j<=L[i].r;++j) {
                                if(!vis[j] && j>=l && j<=r) {
                                        vis[j] = 1;
                                        ans ++;
                                        break;
                                }
                        }
                }
                cout<<ans<<endl;
        }
        return 0;
}

E - 数列

这里

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int MAXN = 1e5+7;


int main() {
        // freopen("../in.txt","r",stdin);
        // freopen("../out.txt","w",stdout);
        ios::sync_with_stdio(0);
        int n,m;
        cin>>n>>m;
        m -= n;//每一位都填1
        for(int i=1;i<=n;++i) {
                int T = (n-i)/i; //最大的元素
                int P = (n-i)%i; //
                int S = P*(T+1)*(T+2)/2 + (i-P)*(T+1)*T/2;
                if(S <= m) {
                        for(int j=1;j<=P;++j)
                                for(int k=1;k<=T+2;++k)
                                        cout<<k<<" ";
                        for(int j=1;j<=i-P;++j)
                                for(int k=1;k<=T+1;++k)
                                        cout<<k<<" ";
                        cout<<endl;
                        break;
                }
        }
        return 0;
}

【Benchmark 性能测试全指南:从核心原理到 CINEBENCH 实战解析】 本文深度拆解基准测试(Benchmark)的底层逻辑,详解数据集、工作负载、度量指标三大核心要素,分步演示测试流程与统计分析要点。结合 CINEBENCH R23 实战案例,揭秘 CPU 性能评估方法论,助你掌握系统性能量化与优化的核心技能。 阅读详情

相关推荐

结构光三维重建(一)条纹结构光三维重建

在近景三维重建领域,结构光技术可以说是应用最广泛的,尤其在工业领域。该技术目前具有高精度和无视弱纹理等优点,但复杂的室外环境还是会对该技术造成一定程度的干扰。目前用的比较多的结构光分别两大类:线结构光以及条纹结构光。接下来我先来简单介绍一下条纹结构光三维重建,事实上,条纹结构光的原理与双目立体匹配是非常相似的。...

AAAA202012的博客 1万+

牛客练习赛50 E tokitsukaze and Segmentation dp

链接:https://ac.nowcoder.com/acm/contest/1080/E 来源:牛客网 题目描述 tokitsukaze有一个长度为n的字符串,字符串仅包含'0'-'9'。 tokitsukaze要把这个字符串切割成若干个子串,每个子串作为一个十进制的数,能被3整除,且不含前导0。 问有多少种切割的方案。由于答案可能很大,请输出mod 998244353 后的结果。 输入描...

lt的博客 591

用Python进行GEO数据挖掘(学习笔记四):富集分析

该笔记详细解释了富集分析的工作原理,并简要地利用gseapy在python中进行富集分析的操作。

m0_64111502的博客 5649

牛客练习赛51

https://ac.nowcoder.com/acm/contest/1083#question A、 abc 题意: 给出一个字符串s,你需要做的是统计s中子串”abc”的个数。子串的定义就是存在任意下标a<b<c,那么”s[a]s[b]s[c]”就构成s的一个子串。如”abc”的子串有”a”、”b”、”c”、”ab”、”ac”、”bc”、”abc”。 输入描述: 一个...

AAAAAAAC的博客 524

ESP32驱动GC9A01圆形屏实战:Arduino平台LVGL移植与图像显示优化

本文详细介绍了在Arduino平台上使用ESP32驱动GC9A01圆形屏的实战指南,包括硬件连接、LVGL移植与图像显示优化。通过SPI配置、LVGL库安装和双缓冲机制等技巧,帮助开发者快速实现高效显示效果,适用于智能家居控制面板等应用场景。

weixin_29182481的博客 736

硬件笔记——HDMI接口

HDMI可以同时传输视频信号、音频信号和控制信号。其中高速信号有四组:从Data TX到Data RX有3组差分数据信号(TMDS_DATA0~2)和一组差分时钟信号(TMDS_CLOCK)。以及若干低速线。脚编号信号名称信号类型功能说明1热插拔检测连接状态检测。接收端通过此引脚向源端发送高电平信号,通知其已连接并可以开始读取EDID。2UTILITY车载用途悬空3TMDS数据通道2差分信号正极,用于传输视频像素、音频和数据包。4TMDS数据2屏蔽。

2501_94625908的博客 542

牛客练习赛 50:E. tokitsukaze and Segmentation(DP优化)

题目大意如图 (觉得还是有必要写一篇题解,做法有很多,而我只会降智严重的做法) 题解:考虑暴力dp,对于每个 i 结尾的数字,枚举前面不为0的数字,设下标为j,若满足sum[i] == sum[j] 则转移dp:tp[i]+=tp[j]tp[i] += tp[j]tp[i]+=tp[j];sum[i] 表示前 i 个数字之和对3的余数。 考虑优化:注意到转移方程是一个求和的形式,而且需要满足条件...

qq_41997978的博客 369

快速上手springboot+vue的前后端分离项目

使用webStorm新建项目后,把 .lock文件删除后项目运行才不报错,配置文件 vue.config.js 中加入 lintOnSave: false 关闭eslint语法检测。在多层嵌套的父子组件之间传递状态已经十分麻烦,而Vue更是没有为兄弟组件提供直接共享数据的办法。基于这个问题,许多框架提供了解决方案——使用全局的状态管理器,将所有分散的共享数据交由状态管理器保管,Vue也不例外。其中一种解决CORS 的方法, 在springboot项目中跨域的方法或类加上@CrossOrigin注解。

m0_61950264的博客 1907

牛客 羊吃草(二分图)

题目链接:https://ac.nowcoder.com/acm/contest/1083/D 题意 有一个草原可以用一个1~400的数轴表示。有n头羊和q个查询。每头羊的编号分别是1,2,3…n。第i头羊只喜爱数轴上[ai,bi]这样的一个闭区间,每一时刻每头羊只可能在自己喜爱的区间的某个点上吃草。现在给出q个查询,每个查询两个整数l,r。你需要计算出在同一时刻,最多能有多少头羊同时在这个区间内...

qq_41418281的博客 312

Debezium报错处理系列之二十一:Unable to connect: Communications link failure.The driver has not received any

Debezium报错系列之二十一:Unable to connect: Communications link failure.The driver has not received any。

zhengzaifeidelushang的博客 547

【Unity大规模RTS/攻城战框架】Large Scale Combat System - RTS Sieges深度解析

本文介绍了Unity专业级大规模RTS战斗框架Large Scale Combat System(LSCS)。该系统通过Job System+Burst技术解决了万人级单位的性能问题,提供完整的RTS操作体系、动态阵型系统、战术AI和攻城战功能。其亮点包括可破坏城门、行走城墙、战术AI配置系统,支持URP渲染管线,适用于Total War风格的大规模兵团对战项目。LSCS不仅提供核心战斗系统,还包含UI、小地图等配套模块,是Unity中少有的专业级RTS解决方案,特别适合需要深度战术玩法和大规模战斗的开发者

2403_88403568的博客 1334

牛客练习赛50 (A,B(线段树),C(顶堆),D(最短路),E(dp优化))

A出前三,补了D,E,真菜。 题目链接 B-tokitsukaze and Hash Table 我的写法是线段树。据说正解是并查集。。。 #include<bits/stdc++.h> using namespace std; const int N=1e6+10; int sum[4*N],val[N]; int a[N]; void build(int id,int...

ccsu_deer 529

从数字后端角度谈谈occ电路(二)

从图中,我们可以清晰的看出,当scan_en为1时,test mode为1时,经过一系列逻辑单元后,得到clk_sel输出信号为1,同样可推算fast_clk_en = 0,slow_clk_en为1,此时clk_out输出为slow clk,符合我们预期。在该模式下,是使用slow clock进行scan shift,接着我们开始进行推导;从图中,我们根据逻辑运算可以看出,clk_sel输出信号为0,fast clk en为1,此时通过mux选择,clk out即为fast clk;

芯冰乐 359

牛客练习赛51-A(二分) B(二分) C(数论结论) D(二分匹配) E(思维+二分) F(矩阵DP+树剖)

Contest:https://ac.nowcoder.com/acm/contest/1083#question 当时comet和这个重了,就去打comet了(谁让comet奖品看起来更好一点呢),结果被吊打,最后一个小时才来写这场,想着混个签到抽抽短袖,结果发现题目意外的简单点?(结果成了二分场?是不是数据很水啊....) A-abc(二分) 题目链接:https://ac.nowcod...

永远鲜红の幼月的博客 385

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

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

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

牛客练习赛60 A.大吉大利

牛客练习赛60 A.大吉大利 题目链接 题目描述 给定n个整数,依次为 a1,a2,...,ana_1,a_2,...,a_na1​,a2​,...,an​ 。 求 ∑i=1n∑j=1n(ai&aj)\sum_{i = 1}^n\sum_{j = 1}^n(a_i\&a_j)∑i=1n​∑j=1n​(ai​&aj​)。“&”是二进制的与运算符。 输入描述: 第一行一...

旺崽的博客 2518

ssm框架搭建

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

牛客练习赛51(部分题解)

牛客练习赛51(部分题解) ps:菜鸡一枚,纯属供自己复习所用,如有错误还望指出 A:abc 感觉题目应该说明下的,开始乍一看题目,还以为是kmp,原来题目中的子串不是我们所常规中的子串,而是子序列(我是这么理解的) 然后耽误会时间,由于是个签到题,所以不会设很难, 但是还是WA了一发,本想着就只有1e5,但是子串却可能远不止如此,加了long long 就过了 #include<cstdi...

serendipity的博客 561

jre9下载 jdk9

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

牛客练习赛51(B题 子串查询)

子串查询 题目描述 给出一个长度为n的字符串s和q个查询。对于每一个查询,会输入一个字符串t,你需要判断这个字符串t是不是s的子串。子串的定义就是存在任意下标a<b<c<d<e,那么”s[a]s[b]s[c]s[d]s[e]”就构成s的一个子串。如”abc”的子串有”a”、”b”、”c”、”ab”、”ac”、”bc”、”abc”。 输入描述: 第一行两个数n,q。1<...

不知所云的博客 1011

【牛客练习赛67:最短路+位运算】E:牛妹游历城市

牛客练习赛67:E题 牛妹游历城市 【难度】 4.5/104.5/104.5/10 有点难度吧 【题意】 一共有 nnn 个点,每个点有权值 aia_iai​ 若 ai&aj≠0a_i\&a_j\ne0ai​&aj​​=0,则这两点之间连了一条双向边,边权为 lowbit(ai&aj)lowbit(a_i\&a_j)lowbit(ai​&aj​) 问你:从1号点到nnn号的最短距离。 若无法到达输出“Impossible” 【数据范围】 1≤n≤1051\l

溢流眼泪的博客 339

牛客周赛 Round 51

线段树求最大子段和的模板题,无非就多要维护一个最小子段和,然后让区间最大子段和,还有区间最小子段和之间取个。二分完以后只要跑个dfs就行了,也就是如果遇到这个点数值比二分的大就不用走就行。小学数学题,把每一位加起来只要能被3整除就一定能被3整除。很经典的最大最小的问题,遇到这类问题直接二分答案。如果是偶数就永远都不可能是。

qq_33269561的博客 1372

牛客练习赛60 A-大吉大利[签到][位运算]

牛客练习赛60 A-大吉大利 题目链接(Click) 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld 题目描述 给定n个整数,依次为a1,a2,…,an。 求∑i=1n∑j=1n(ai&aj) \sum_{i = 1}^n\sum_{j = 1}^n(a_i\&a_j) i=1∑n​...

MrBeanC的博客 230

牛客练习赛40-题解(部分)

牛客练习赛40-题解(部分) 官方题解:https://www.nowcoder.com/discuss/154293?type=101 A-小D的剧场 大概意思就是,有1~49个数,代表着不同的音符,问你能组成长度为n的串有多少种(mod 109+7)。有若干个限制,比如1 2 3,就是1,2,3不能放在一起,然后问你在这些限制下有多少种不同的长度为n的串。 3≤n≤500,0≤q≤117649...

休想骗我打代码:) 748

牛客练习赛51 A B C

文章目录ABC A 前后缀维护字符串中b左边a的个数和b的个数,对于每个b,它能构成的的abc的个数即为它前面a的个数乘以它后面c的个数 #include<bits/stdc++.h> using namespace std; #define ll long long #define inf 0x3f3f3f3f typedef pair<int,int> pii; str...

cloudy_happy的博客 271

牛客练习赛51 E-数列

E-数列 题目链接:https://ac.nowcoder.com/acm/contest/1083/E 题目描述:小乔有一个长度为n的整数数列,最开始里面所有的值都为0,小乔需要将在1…n的每一个位置填入一个大于0的正整数,得到一个新的数列,并且这个数列所有数的和不超过m,小乔对这个数列会有一个喜爱度,小乔对这个数列的喜爱度为满足2<=i<=n并且a[i]=a[i-1]...

weixin_30345055的博客 129

牛客练习赛51 E 数列

链接:https://ac.nowcoder.com/acm/contest/1083/E 来源:牛客网 题目描述 小乔有一个长度为n的整数数列,最开始里面所有的值都为0,小乔需要将在1…n的每一个位置填入一个大于0的正整数,得到一个新的数列,并且这个数列所有数的和不超过m,小乔对这个数列会有一个喜爱度,小乔对这个数列的喜爱度为满足2<=i<=n并且a[i]=a[i-1]+1的i的个数...

九峰的博客 412

题解:牛客周赛 Round 56(A-E)

心灰意冷的他找到 小S 生成了一个虚拟对象 小C ,在一次次的模拟约会中达成“一起进入电影院”的人生成就。对于每一组测试数据,在一行上输出一个整数,代表能组成周长最大三角形的周长;注意,当开心的起始时间和结束时间相等时,我们认为 小C 一整天都感到开心。代表班级同学数量、留下来的同学数量和叠一只纸飞机需要的纸的数量。对于每一组测试数据,在一行上输出两个正整数,代表你找到的两个值。代表 小C 感到开心的时间段数量和 小C 喜欢的奶茶数量。然后,我们可以取一个数作为异或的主要对象,比如本题的上限。

2301_81246674的博客 1168

牛客练习赛52 | C | [烹饪] (DP,裴蜀定理,gcd)

牛客练习赛52 C 烹饪 链接:https://ac.nowcoder.com/acm/contest/1084/C来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld 题目描述 “你已经是一个成熟的孩子了,要学会自己烹饪了!” 小 Y 上山拜师学艺,经过 ...

weixin_30387663的博客 829
上一篇: The Preliminary Contest for ICPC Asia Nanjing 2019
下一篇: 图形学实验01
陶鸿杰
博客等级 码龄9年 93粉丝 298原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值