当前位置: 首页 > news >正文

CodeChef Starters 151 (Div.2) A~D

codechef是真敢给分,上把刚注册,这把就div2了,再加上一周没打过还是有点不适应的,好在最后还是能够顺利上分
今天的封面是P3R的设置菜单 我抠出来做我自己的游戏主页了(

A - Convert string

题意

在01串里面可以翻转k次,问从1到n有多少个k有机会使01串所有元素相同

思路

暴力遍历求解即可,一开始下标打错了wa了一发

代码

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef double db;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;void solve()
{int n;scanf("%d",&n);string s;cin>>s;int one=0,zero=0;for(int i=0;i<n;i++){if(s[i]=='1'){one++;}else{zero++;}}int cnt=0;for(int k=1;k<=n;k++){//全变1if(k>=zero and (k-zero)%2==0){
//            printf("%d ",k);cnt++;continue;}//全变0if(k>=one and (k-one)%2==0){
//            printf("%d ",k);cnt++;continue;}}
//    printf("\n");printf("%d\n",cnt);
}int main()
{int T=1;scanf("%d",&T);while(T--){solve();}return 0;
}

B - Ball Game

题意

好多小球冲家,速度各不相同,中间撞上了就会融合成一个速度取最大值的新小球,问最后一共有多少个小球到终点

思路

所谓的融合其实就是大球吃小球,维护个pq然后大小比较无效化就行

代码

#include <iostream>
#include <algorithm>
#include <map>
#include <cstring>
#include <string>
#include <vector>
#include <cctype>
#include <cmath>
#include <queue>
#include <set>
using namespace std;
typedef long long LL;
typedef pair<LL, int> PLL;
#define qwq ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
#define tcase      \LL t = read(); \while (t--)LL read()
{LL sum = 0, fl = 1;int ch = getchar();for (; !isdigit(ch); ch = getchar())if (ch == '-')fl = -1;for (; isdigit(ch); ch = getchar())sum = sum * 10 + ch - '0';return sum * fl;
}
const int N = 1e6 + 10;
struct node
{LL d, v;bool operator<(const node &T) const{return d < T.d;}
} a[N];struct node2
{LL x, y;bool operator<(const node2 &T) const{return x * T.y < T.x * y;}
};void solve()
{LL n = read();for (int i = 1; i <= n;i++)a[i].d = read();for (int i = 1; i <= n;i++)a[i].v = read();sort(a + 1, a + 1 + n);priority_queue<node2> pq;for (int i = 1; i <= n;i++){node2 nowt = {a[i].d,a[i].v};while(pq.size()&&nowt<pq.top())pq.pop();pq.push(nowt);}printf("%lld\n", pq.size());
}int main()
{tcasesolve();return 0;
}

C - Sequence Search

题意

X 1 = 0 ; X_1 = 0; X1=0;
X 2 = A ; X_2 = A; X2=A;
X 3 = B ; X_3 = B; X3=B;
X i = X i − 1 + X i − 2 = X i − 3 ; X_i = X_{i-1}+X_{i-2}=X_{i-3}; Xi=Xi1+Xi2=Xi3;
一直A和B,求数组中第k小的数

思路

简单枚举一下很容易可以发现规律

0,A,B,A+B,2B,A+2B,3B,A+3B,4B,A+4B,5B,A+5B,6B,A+6B,7B,A+7B,8B,A+8B,9B,A+9B,10B,A+10B,11B,A+11B,12B,A+12B,13B,A+13B,14B

然后现在还要排序,很容易想到比较时一个很重要的印象因素就是A是B的几倍,然后再枚举下找下规律就行了

0,B,A,2B,A+B,3B,A+2B,4B,A+3B,5B       A/B==1
0,B,2B,A,3B,A+B,4B    A/B==2

代码

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef double db;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;//0,A,B,A+B,2B,A+2B,3B,A+3B,4B,A+4B,5B,A+5B,6B,A+6B,7B,A+7B,8B,A+8B,9B,A+9B,10B,A+10B,11B,A+11B,12B,A+12B,13B,A+13B,14B,A+14B,15B,A+15B,16B,A+16B,17B,A+17B,18B,A+18B,19B,A+19B,20B,A+20B,21B,A+21B,22B,A+22B,23B,A+23B,24B,A+24B,25B,A+25B,26B,A+26B,27B,A+27B,28B,A+28B,29B,A+29B,30B,A+30B,31B,A+31B,32B,A+32B,33B,A+33B,34B,A+34B,35B,A+35B,36B,A+36B,37B,A+37B,38B,A+38B,39B,A+39B,40B,A+40B,41B,A+41B,42B,A+42B,43B,A+43B,44B,A+44B,45B,A+45B,46B,A+46B,47B,A+47B,48B,A+48B,49B,A+49B,50B,A+50B,51B,A+51B,52B,A+52B,53B,A+53B,54B,A+54B,55B,A+55B,56B,A+56B,57B,A+57B,58B,A+58B,59B,A+59B,60B,A+60B,61B,A+61B,62B,A+62B,63B,A+63B,64B,A+64B,65B,A+65B,66B,A+66B,67B,A+67B,68B,A+68B,69B,A+69B,70B,A+70B,71B,A+71B,72B,A+72B,73B,A+73B,74B,A+74
//0,B,A,2B,A+B,3B,A+2B,4B,A+3B,5B       A/B==1
//0,B,2B,A,3B,A+B,4B    A/B==2
void solve()
{ll A,B,K;scanf("%lld%lld%lld",&A,&B,&K);int time=A/B;int start=3+time;if(K==start-1){printf("%lld\n",A);return ;}if(K==1){printf("%lld\n",0);return ;}if(K<start){printf("%lld\n",(K-1)*B);return ;}K-=start;K++;if(K%2==1){printf("%lld\n",((K+1)/2+time)*B);return ;}else{printf("%lld\n",(K/2)*B+A);return ;}
}int main()
{int T=1;scanf("%d",&T);while(T--){solve();}return 0;
}

D - Shooting (Easy)

题意

射飞镖,以一个点为中心点,距离为得分,求两个人在每个点作为中心点情况得分的差值

思路

前缀和维护即可

代码

#include <iostream>
#include <algorithm>
#include <map>
#include <cstring>
#include <string>
#include <vector>
#include <cctype>
#include <cmath>
#include <queue>
#include <set>
using namespace std;
typedef long long LL;
typedef pair<LL, int> PLL;
#define qwq ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
#define tcase      \LL t = read(); \while (t--)LL read()
{LL sum = 0, fl = 1;int ch = getchar();for (; !isdigit(ch); ch = getchar())if (ch == '-')fl = -1;for (; isdigit(ch); ch = getchar())sum = sum * 10 + ch - '0';return sum * fl;
}
const int N = 1e6 + 10;
LL d[N];
LL s1[N], s2[N];void solve()
{LL sum1 = 0, sum2 = 0;LL n = read(),m = read();n = m;for (int i = 1; i <= m;i++)d[i] = read();for (int i = 1; i <= m;i++){s1[i] = s1[i - 1] + 1;s2[i] = s2[i - 1] + 1;if(d[i]==1){s1[i]++;sum1 += i - 1;}else if(d[i]==2){s2[i]++;sum2 += i - 1;}else if(d[i]==3){s1[i]++;s2[i]++;sum1 += i - 1;sum2 += i - 1;}// printf("%lld %lld\n", s1[i], s2[i]);}//printf("%lld %lld\n", s1[m], s2[m]);printf("%lld ", llabs(sum1 - sum2));// printf("de %lld %lld\n", sum1, sum2);for (int i = 2; i <= m;i++){sum1 += s1[i - 1];sum1 -= s1[m] - s1[i - 1];// printf("add:%lld sub:%lld\n", s1[i - 1], s1[m] - s1[i - 1]);sum2 += s2[i - 1];sum2 -= s2[m] - s2[i - 1];// printf("add:%lld sub:%lld\n", s2[i - 1], s2[m] - s2[i - 1]);printf("%lld ", llabs(sum1 - sum2));// printf("de %lld %lld\n", sum1 , sum2);}printf("\n");
}int main()
{tcasesolve();return 0;
}

相关文章:

CodeChef Starters 151 (Div.2) A~D

codechef是真敢给分&#xff0c;上把刚注册&#xff0c;这把就div2了&#xff0c;再加上一周没打过还是有点不适应的&#xff0c;好在最后还是能够顺利上分 今天的封面是P3R的设置菜单 我抠出来做我自己的游戏主页了&#xff08; A - Convert string 题意 在01串里面可以翻转…...

Redis学习——数据不一致怎么办?更新缓存失败了又怎么办?

文章目录 引言正文读写缓存的数据一致性只读缓存的数据一致性删除和修改数据不一致问题操作执行失败导致数据不一致解决办法 多线程访问导致数据不一致问题总结 总结参考信息 引言 最近面试快手的时候被问到了缓存不一致怎么解决&#xff1f;一开始还是很懵的&#xff0c;因为…...

跨境电商代购新纪元:一键解锁全球好物,系统流程全揭秘

添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09; 在全球化日益加深的今天&#xff0c;跨境电商代购成为了连接消费者与世界各地优质商品的桥梁。本文将在CSDN平台上&#xff0c;深入剖析跨境电商代购系统的功能流程&#xff0c;带您一窥其背后的技术奥秘与…...

Mac 上终端使用 MySql 记录

文章目录 下载安装终端进入 MySql常用操作查看数据库选择一个数据库查看当前选择的数据库Navcat 打开提示报错参考文章 下载安装 先下载社区版的 MySql 安装的过程需要设置 root 的密码&#xff0c;这个是要进入数据库所设定的&#xff0c;所以要记住 终端进入 MySql 首先输…...

461. 汉明距离

一&#xff1a;题目&#xff1a; 两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目。 给你两个整数 x 和 y&#xff0c;计算并返回它们之间的汉明距离。 示例 1&#xff1a; 输入&#xff1a;x 1, y 4 输出&#xff1a;2 解释&#xff1a; 1 (0 0…...

开发指南061-nexus权限管理

平台后台服务的核心是组件&#xff0c;管理组件的软件有&#xff1a; Apache的Archiva、JFrog的Artifactory、Sonatype的Nexus。 本平台选择nexus。nexus的权限模型是用户-角色-权限体系&#xff1a;通过组合权限定义角色&#xff0c;通过给用户赋角色来赋权限。有关nexus的权…...

Qt 弹出菜单右键菜单 QMenu 设置不同颜色的子项

概述 在Qt中&#xff0c;可以使用样式表&#xff08;StyleSheet&#xff09;来自定义 QMenu 的外观&#xff0c;包括其子项&#xff08;如菜单项QAction&#xff09;的颜色。但是&#xff0c;这通常可以设置 QMenu 的整体样式&#xff0c;而不能单独设置某个子项的颜色。不过&…...

Git换行符自动转换参数core.autocrlf的用法

core.autocrlf 是 Git 中用于控制换行符自动转换的配置选项。它有以下几个可能的值&#xff1a; 1. true 作用&#xff1a;在 checkin 时将 CRLF 转换为 LF&#xff0c;在 checkout 时将 LF 转换为 CRLF。适用场景&#xff1a;适用于 Windows 用户&#xff0c;希望在本地文件…...

C语言的结构体类型

在我们使用C语言进行编写代码时&#xff0c;常常会使用已经给定的类型来创建变量&#xff0c;比如int型&#xff0c;char型&#xff0c;double型等&#xff0c;而当我们想创建一些较为复杂的东西时&#xff0c;单单用一个类型变量是没办法做到的&#xff0c;比如我们想创建一个…...

illustrator 收集字体插件VBscript

这是早些年从俄罗斯网站上看到的一个收集字体插件,语言是用VBscript写的,能用,但个别字体不能收集完成,现在Adobe也在illustrator中加入了收集字体打包功能,所以这个也很少用啦。 使用方法: 下好插件,或把下面的代码存入到本地侯后缀名改为.vbs,然后把.ai文件往.vbs文…...

【LLM多模态】文生视频评测基准VBench

note VBench的16个维度自动化评估指标代码实践&#xff08;待完成&#xff09;16个维度的prompt举例人类偏好标注&#xff1a;计算VBench评估结果与人类偏好之间的相关性、用于DPO微调 文章目录 note一、相关背景二、VBench评测基准概述&#xff1a;论文如何解决这个问题&…...

通过覆写 url_for 将 flask 应用部署到子目录下

0. 缘起 最近用 flask 写了一个 web 应用&#xff0c;需要部署到服务器上。而服务器主域名已经被使用了&#xff0c;只能给主域名加个子目录进行部署&#xff0c;比如主域名 example.org &#xff0c;我需要在 example.org/flask 下部署。这时 flask 应用里的内部连接们就出现…...

攻防世界---->埃尔隆德32

做题笔记。 下载 查壳。 32ida 打开。 发现就一个判断。 跟进看看。 // 首次a20 int __cdecl sub_8048414(_BYTE *a1, int a2) {int result; // eaxswitch ( a2 ){case 0:if ( *a1 105 )goto LABEL_19;result 0;break;case 1:if ( *a1 101 ) // e…...

redis短信登录模型

基于Session实现登录 &#xff0c;...

【React】React18.2.0核心源码解读

前言 本文使用 React18.2.0 的源码&#xff0c;如果想回退到某一版本执行git checkout tags/v18.2.0即可。如果打开源码发现js文件报ts类型错误请看本人另一篇文章&#xff1a;VsCode查看React源码全是类型报错如何解决。 阅读源码的过程&#xff1a; 下载源码 观察 package…...

深度学习-目标检测(四)-Faster R-CNN

目录 一.模型框架 二&#xff1a;步骤详细 1.conv layers 2.RPN 3.anchors 4.cls layer分类 5.reg layer回归 6.Proprosal 7.Rol pooling 8.Classification 三.训练 1.训练RPN网络 2.全连接层部分训练&#xff1a; 都看到这里了&#xff0c;点个赞把&#xff01;&a…...

MATLAB中的无线通信系统设计有哪些最佳实践

在无线通信系统设计领域&#xff0c;MATLAB提供了一套强大的工具箱&#xff0c;使得系统设计、仿真、测试和分析变得更加高效和精确。本文将探讨MATLAB在无线通信系统设计中的最佳实践&#xff0c;包括信号处理、调制与解调、信道建模、误码率分析以及无线通信标准的实现。 1.…...

Java的发展史与前景

&#x1f308;个人主页&#xff1a;Yui_ &#x1f308;Linux专栏&#xff1a;Linux &#x1f308;C语言笔记专栏&#xff1a;C语言笔记 &#x1f308;数据结构专栏&#xff1a;数据结构 &#x1f308;C专栏&#xff1a;C 文章目录 0. Java语言的发展史1.概述1.1 什么是Java1.2 …...

2024年上海小学生古诗文大会倒计时30多天:做几道今年的官方模拟题

2024年上海市小学生古诗文大会自由报名活动的初赛日期于10月19日开始&#xff0c;距离今天只有34天了。 小学生古诗文大会考什么&#xff1f;怎么考呢&#xff1f;今天好真题就带着大家来做一做官方发布的2024年小学生古诗文大会的模拟题&#xff0c;根据往年的经验&#xff0…...

IDEA 常用配置和开发插件

件市场中搜索并安装“Git Integration”插件。 一、前言 在本篇文章中我会为大家总结一些我自己常用的配置和开发插件&#xff0c;此外也给大家提供一个建议&#xff0c;可以根据自己的项目需求和个人偏好选择适合的插件。另外&#xff0c;IDEA 也在不断更新&#xff0c;可能会…...

深入剖析AI大模型:大模型时代的 Prompt 工程全解析

今天聊的内容&#xff0c;我认为是AI开发里面非常重要的内容。它在AI开发里无处不在&#xff0c;当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗"&#xff0c;或者让翻译模型 "将这段合同翻译成商务日语" 时&#xff0c;输入的这句话就是 Prompt。…...

解锁数据库简洁之道:FastAPI与SQLModel实战指南

在构建现代Web应用程序时&#xff0c;与数据库的交互无疑是核心环节。虽然传统的数据库操作方式&#xff08;如直接编写SQL语句与psycopg2交互&#xff09;赋予了我们精细的控制权&#xff0c;但在面对日益复杂的业务逻辑和快速迭代的需求时&#xff0c;这种方式的开发效率和可…...

测试markdown--肇兴

day1&#xff1a; 1、去程&#xff1a;7:04 --11:32高铁 高铁右转上售票大厅2楼&#xff0c;穿过候车厅下一楼&#xff0c;上大巴车 &#xffe5;10/人 **2、到达&#xff1a;**12点多到达寨子&#xff0c;买门票&#xff0c;美团/抖音&#xff1a;&#xffe5;78人 3、中饭&a…...

Java - Mysql数据类型对应

Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...

基础测试工具使用经验

背景 vtune&#xff0c;perf, nsight system等基础测试工具&#xff0c;都是用过的&#xff0c;但是没有记录&#xff0c;都逐渐忘了。所以写这篇博客总结记录一下&#xff0c;只要以后发现新的用法&#xff0c;就记得来编辑补充一下 perf 比较基础的用法&#xff1a; 先改这…...

使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装

以下是基于 vant-ui&#xff08;适配 Vue2 版本 &#xff09;实现截图中照片上传预览、删除功能&#xff0c;并封装成可复用组件的完整代码&#xff0c;包含样式和逻辑实现&#xff0c;可直接在 Vue2 项目中使用&#xff1a; 1. 封装的图片上传组件 ImageUploader.vue <te…...

Qt Http Server模块功能及架构

Qt Http Server 是 Qt 6.0 中引入的一个新模块&#xff0c;它提供了一个轻量级的 HTTP 服务器实现&#xff0c;主要用于构建基于 HTTP 的应用程序和服务。 功能介绍&#xff1a; 主要功能 HTTP服务器功能&#xff1a; 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...

数据链路层的主要功能是什么

数据链路层&#xff08;OSI模型第2层&#xff09;的核心功能是在相邻网络节点&#xff08;如交换机、主机&#xff09;间提供可靠的数据帧传输服务&#xff0c;主要职责包括&#xff1a; &#x1f511; 核心功能详解&#xff1a; 帧封装与解封装 封装&#xff1a; 将网络层下发…...

什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南

文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/55aefaea8a9f477e86d065227851fe3d.pn…...

HashMap中的put方法执行流程(流程图)

1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中&#xff0c;其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下&#xff1a; 初始判断与哈希计算&#xff1a; 首先&#xff0c;putVal 方法会检查当前的 table&#xff08;也就…...