begin wordpress/赣州seo外包
前言
整体评价
还是E稍微有点意思,新周赛好像比预期要简单一些, _.
欢迎关注
珂朵莉 牛客周赛专栏
珂朵莉 牛客小白月赛专栏
A. 小红的新周赛
思路: 模拟
#include <bits/stdc++.h>using namespace std;int main() {int res = 0;for (int i = 0; i < 6; i++) {int v;cin >> v;res += v;}cout << res << endl;return 0;
}
B. 小红的字符串
思路: 计数+模拟
引入 26 * 26的状态,进行计数
这有个好处,就是天然排序,避免大内存存字符串并排序
#include <bits/stdc++.h>using namespace std;int main() {// 26 * 26天然保序int cnt[26][26] = {0};string s;cin >> s;int n = s.length();for (int i = 0; i < n - 1; i++) {int p1 = s[i] - 'a';int p2 = s[i + 1] - 'a';cnt[p1][p2]++;}for (int i = 0; i < 26; i++) {for (int j = 0; j < 26; j++) {string ts = "";ts.push_back((char)(i + 'a'));ts.push_back((char)(j + 'a'));for (int t = 0; t < cnt[i][j]; t++) {cout << ts << endl;}}}}
C. 小红的炸砖块
思路: 模拟
引入保存每列高度的数组,然后模拟即可
#include <bits/stdc++.h>using namespace std;int main() {int n, m, k;cin >> n >> m >> k;vector<int> cols(m, n);for (int i = 0; i < k; i++) {int r, c;cin >> r >> c;if (cols[c - 1] >= n - r + 1) {cols[c - 1]--;}}for (int i = 0; i < n; i++) {string r;for (int j = 0; j < m; j++) {r.push_back(cols[j] >= n - i ? '*' : '.');}cout << r << endl;}return 0;
}
D. 小红统计区间(easy)
思路: 滑窗
非常典的一道滑窗题,双指针维护即可
#include <bits/stdc++.h>using namespace std;using int64 = long long;int main() {int n;int64 k;cin >> n >> k;vector<int64> pre(n + 1, 0);vector<int> arr(n);for (int i = 0; i < n; i++) {cin >> arr[i];pre[i + 1] = pre[i] + arr[i];}int64 res = 0LL;int j = 0;for (int i = 0; i < n; i++) {while (j <= i && pre[i + 1] - pre[j] >= k) {j++;}res += j;}cout << res << endl;return 0;
}
E. 小红的好数组
思路: 找规律 + 组合数学
case给的非常良心
可以分类讨论,大概有4种类似的序列
arr1 = [偶数,偶数,偶数,偶数,偶数,偶数, …]
arr2 = [奇数,奇数,偶数,奇数,奇数,偶数,…]
arr3 = [奇数,偶数,奇数,奇数,偶数,奇数,…]
arr4 = [偶数,奇数,奇数,偶数,奇数,奇数,…]
奇数/偶数的分布,呈现强烈的规律
最终为这4种情况的组合方案和
#include <bits/stdc++.h>using namespace std;using int64 = long long;const int64 mod = (long)1e9 + 7;int64 ksm(int64 b, int64 v) {int64 r = 1LL;while (v > 0) {if (v % 2 == 1) {r = r * b % mod;}v /= 2;b = b * b % mod;}return r;
}int main() {int n, k;cin >> n >> k;int k2 = k / 2, k1 = k - k2;int64 r1 = ksm(k2, n);int64 r2 = ksm(k2, n/3) * ksm(k1, n - n/3) % mod;int64 r3 = ksm(k2, (n+1)/3) * ksm(k1, n - (n+1)/3) % mod;int64 r4 = ksm(k2, (n+2)/3) * ksm(k1, n - (n+2)/3) % mod;int64 res = (r1 + r2 + r3 + r4) % mod;cout << res << endl;return 0;
}
F. 小红统计区间(hard)
思路: 离散化+树状数组
也是一道非常典的题
因为存在负数,所以滑窗的基础已经被破坏了
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;public class Main {static class BIT {int n;int[] arr;public BIT(int n) {this.n = n;this.arr = new int[n + 1];}int query(int p) {int res = 0;while (p > 0) {res += arr[p];p -= p & -p;}return res;}void update(int p, int d) {while (p <= n) {arr[p] += d;p += p & -p;}}}public static void main(String[] args) {AReader sc = new AReader();int n = sc.nextInt();long k = sc.nextLong();long[] arr = new long[n];long[] pre = new long[n + 1];for (int i = 0; i < n; i++) {arr[i] = sc.nextLong();pre[i + 1] = pre[i] + arr[i];}// 进行离散化TreeSet<Long> ids = new TreeSet<>();for (long v: pre) {ids.add(v);}int ptr = 0;TreeMap<Long, Integer> hp = new TreeMap<>();for (long kv: ids) {hp.put(kv, ++ptr);}BIT bit = new BIT(ptr);bit.update(hp.get(0l), 1);long res = 0;for (int i = 0; i < n; i++) {long p = pre[i + 1];// p - x >= k// x <= p - kMap.Entry<Long, Integer> ent = hp.floorEntry(p - k);if (ent != null) {res += bit.query(ent.getValue());}bit.update(hp.get(p), 1);}System.out.println(res);}staticclass AReader {private BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));private StringTokenizer tokenizer = new StringTokenizer("");private String innerNextLine() {try {return reader.readLine();} catch (IOException ex) {return null;}}public boolean hasNext() {while (!tokenizer.hasMoreTokens()) {String nextLine = innerNextLine();if (nextLine == null) {return false;}tokenizer = new StringTokenizer(nextLine);}return true;}public String nextLine() {tokenizer = new StringTokenizer("");return innerNextLine();}public String next() {hasNext();return tokenizer.nextToken();}public int nextInt() {return Integer.parseInt(next());}public long nextLong() {return Long.parseLong(next());}// public BigInteger nextBigInt() {
// return new BigInteger(next());
// }// 若需要nextDouble等方法,请自行调用Double.parseDouble包装}}
#include <bits/stdc++.h>using namespace std;
using int64 = long long;class BIT {
private:int n;vector<int> arr;
public:BIT(int n): n(n), arr(n + 1, 0) {}int query(int p) {int r = 0;while (p > 0) {r += arr[p];p -= p & -p;}return r;}void update(int p, int d) {while (p <= n) {arr[p] += d;p += p & -p;}}
};int main() {int n;int64 k;cin >> n >> k;vector<int64> pre(n + 1, 0LL);for (int i = 0; i < n; i++) {int v;cin >> v;pre[i + 1] = pre[i] + v;}set<int64> ts;for (int64 v: pre) {ts.insert(v);}int ptr = 0;map<int64, int> idMap;for (int64 v: ts) {idMap[v] = ++ptr;}int64 res = 0;BIT bit(ptr);bit.update(idMap[0], 1);for (int i = 0; i < n; i++) {int64 p = pre[i + 1];if (idMap.find(p - k) != idMap.end()) {res += bit.query(idMap[p - k]);} else {auto iter = idMap.lower_bound(p - k);if (iter != idMap.end()) {res += bit.query(iter->second - 1);} else {res += bit.query(ptr);}}bit.update(idMap[p], 1);}cout << res << endl;return 0;
}
写在最后
相关文章:

牛客周赛 Round 28 解题报告 | 珂学家 | 组合数学 + 离散化树状数组
前言 整体评价 还是E稍微有点意思,新周赛好像比预期要简单一些, _. 欢迎关注 珂朵莉 牛客周赛专栏 珂朵莉 牛客小白月赛专栏 A. 小红的新周赛 思路: 模拟 #include <bits/stdc.h>using namespace std;int main() {int res 0;for (int i 0; i < 6; i…...

Python系列(3)—— 变量
变量 一、变量命名规范二、变量赋值三、变量的数据类型四、变量的作用域五、变量类型转换 Python编程中,变量是存储数据的容器。它们用于存储各种数据类型,如整数、浮点数、字符串、列表、字典等。理解变量及其工作原理是Python编程的基础。 一、变量命…...

Java 并发性和多线程2
四、如何创建并运行 java 线程 Java 线程类也是一个 object 类,它的实例都继承自 java.lang.Thread 或其子类。 可以用如下方式用 java 中创建一个线程: Tread thread new Thread(); 执行该线程可以调用该线程的 start()方法: thread.start(); 在上…...

最新消息:OpenAI GPT Store 正式上线,GPTs 应用商店来了!
原文链接 https://openaigptguide.com/gpt-store-and-chatgpt-team/ OpenAI推出的两款新产品和服务:GPT Store和ChatGPT Team,提供了许多全新的解决方案和功能,旨在帮助用户更轻松地使用和构建GPT工具,同时也增加了公司的收入来源…...

memory泄露分析方法(java篇)
#memory泄露主要分为java和native 2种,本文主要介绍java# 测试每天从monkey中筛选出内存超标的app,提单流转到我 首先,辨别内存泄露类型(java,还是native) 从采到的dumpsys_meminfo_pid看java heap&…...

kubectlkubeletrancherhelmkubeadm这几个命令行工具是什么关系?
背景 在最近学习k8s的过程中,发现kubectl&kubelet&rancher&helm&kubeadm这几个命令怎么在交错使用,他们究竟是什么关系?他们分别应该在什么情况下使用呢?这里我进行了简单的总结,做个区分。 各工具说…...

Day26 669修剪二叉搜索树 108有序数组转为二叉搜索树 538二叉搜索树转换为累加树
669 修剪二叉搜索树 给定一个二叉搜索树,同时给定最小边界L 和最大边界 R。通过修剪二叉搜索树,使得所有节点的值在[L, R]中 (R>L) 。你可能需要改变树的根节点,所以结果应当返回修剪好的二叉搜索树的新的根节点。 class Solution { pub…...

优化CentOS 7.6的HTTP隧道代理网络性能
在CentOS 7.6上,通过HTTP隧道代理优化网络性能是一项复杂且细致的任务。首先,我们要了解HTTP隧道代理的工作原理:通过建立一个安全的隧道,HTTP隧道代理允许用户绕过某些网络限制,提高数据传输的速度和安全性。然而&…...

第二篇ts,es6箭头函数结合typescript,和for...of
1.基本用法: const f v > v// 等同于const f function(v) {return v}2.箭头函数返回数组 const f () > {const list [1,2,3]// 直接返回一个对象return list.map(it > ({id: it}))}const result f() // [{id:1},{id:2},{id:3}]3.箭头函数和变量解构结合使用 cons…...

异构多品牌高清视频监控接入-技术方案
目 录 一、概述 二、建设目标及需求 (一)建设总目标 (二)需求分析 三、设计依据与设计原则 (一)设计依据 (二)设计原则 1、先进性与适用性 2、经济性与实用性 3、可靠性与安全性 4、开放性 5、可扩充性 6、追求最优化的系统设备配置 7、提高监管…...

编程探秘:Python深渊之旅-----机器学习入门(七)
团队决定在他们的项目中加入一些机器学习功能。瑞宝,对新技术充满好奇,跃跃欲试地想了解更多。 瑞宝(兴奋地):我一直想学习机器学习,现在终于有机会了! 龙(微笑着)&…...

SpringMVC 学习博客记录
文章目录 Servlet请求转发和请求包含RequestDispatcher HandlerInterceptor组件实际运用场景 HandlerMapping&RequestMappingInfo(HandlerMapping)HandlerExecutionChainHandlerAdapter源码学习知识点博客记录 Servlet请求转发和请求包含 RequestDispatcher Request#getR…...

重磅!OpenAI正式发布,自定义ChatGPT商店!
1月11日凌晨,OpenAI在官网正式发布了,自定义GPT商店,可以帮助用户找到目前最好用、流行的自定义ChatGPT助手。 在2024年第一季度,OpenAI将启动GPT 开发者收入计划。首先,美国地区的开发者将根据用户对其 GPT 的使用情…...

LeetCode讲解篇之47. 全排列 II
文章目录 题目描述题解思路题解代码 题目描述 题解思路 初始化一个nums中元素是否被访问的数组used、记录还需要递归的深度deep 遍历nums 如果当前元素被访问过或者当前元素等于前一个元素且前一个元素没被访问过就跳过该次遍历 否则选择当前元素,继续递归 直到…...

机器学习~从入门到精通(二)线性回归算法和多元线性回归
为什么要做数据归一化 一、数据归一化: 1.最值归一化 2.均值方差归一化import numpy as npX np.random.randint(1,100,size100) X X.reshape(-1,2) X.shape X np.array(X,dtypefloat) X[:,0] (X[:,0]-np.min(X[:,0]))/(np.max(X[:,0])-np.min(X[:,0])) X[:,1]…...

IPv6组播--PIM
IPv6组播路由协议 PIM(IPv6)作为一种IPv6网络中的组播路由协议,主要用于将网络中的组播数据流引入到有组播数据请求的组成员所连接的路由器上,从而实现组播数据流的路由查找与转发。 PIM(IPv6)协议包括PIM-SM(IPv6)和PIM-DM(IPv5)两种模式 IPv6组播协议定义 PIM(…...

如何在Spring Boot中使用EhCache缓存
1、EhCache介绍 在查询数据的时候,数据大多来自于数据库,我们会基于SQL语句与数据库交互,数据库一般会基于本地磁盘IO将数据读取到内存,返回给Java服务端,我们再将数据响应给前端,做数据展示。 但是MySQL…...

PDF 文档解除密码
PDF 文档解除密码 1. 文件 -> 文档属性 -> 安全 -> 文档限制摘要2. PDF365References 1. 文件 -> 文档属性 -> 安全 -> 文档限制摘要 密码保护《算法设计与分析基础_第3版.pdf》 2. PDF365 https://www.pdf365.cn/ 免费功能 -> PDF 去密码 开始去除 Re…...

React16源码: React中的expirationTime过期时间的计算源码实现
expirationTime 的计算方式 先看expirationTime相关的源代码,这里是异步的计算方式,它会有一个过期时间异步任务优先级比较低,可以被打断,防止一直被打断导致不能执行,所以React给它设置了 expirationTime 过期时间也…...

程序设计语言的分类
编译与解释 编译型 将源代码转换成目标代码,通常源代码是高级语言代码,目标代码是机器语言代码,执行编译的计算机程序称为编译器。 eg:java 好处:对于相同的源代码编译产生的目标代码执行速度更快,目标代码不需要编译…...

Python轻松实现炫酷的手势检测
大家好,今天分享一个非常有意思且十分简单的python库——mediapipe库。该库集成了大量的深度学习模型,短短几行代码,就可以快速实现一个炫酷的实例,本文就以手势检测为例,展示一下这个强大的开源库。 mediapipe由Goog…...

什么是信噪比
大家好,今天给大家介绍什么是信噪比,文章末尾附有分享大家一个资料包,差不多150多G。里面学习内容、面经、项目都比较新也比较全!可进群免费领取。 “信噪比”是电子技术中经常用到的一个词组,知道它的确切含义有一定意…...

学习redis有效期和数据类型
1、安装redis和连接redis 参考:ubuntu安装单个redis服务_ubuntu redis单机版安装-CSDN博客 连接redis:redis-cli.exe -h localhost -p 6379 -a 123456 2、Redis数据类型 以下操作我们在图形化界面演示。 2.1、五种常用数据类型介绍 Redis存储的是key…...

【linux】进程管理
前言 linux也有类似于windows的任务管理器的功能,我们也可以通过这个功能查看当前的进程情况。 语法 ps [-e] [-f] -e显示所有进程 -f显示完整的信息 我们可以直接用-ef来简化指令。 案例演示 信息过滤 但是如果我们直接这么输入的话,可以看到他回复…...

k8s operator从0到1实践
文章目录 环境准备一个k8s集群开发工具包mac安装 实践初始化operator项目核心逻辑编写测试验证验证 部署 参考 环境准备 一个k8s集群 推荐使用docker-desktop,本地单机集群 开发工具包 这里推荐使用脚手架工具kubebuilder 使用脚手架工具,能生成项目…...

【动态规划】dp多状态问题
欢迎来到Cefler的博客😁 🕌博客主页:那个传说中的man的主页 🏠个人专栏:题目解析 🌎推荐文章:【LeetCode】winter vacation training 目录 👉🏻按摩师👉&…...

docker安裝gocd-server,并配置gitlab授权登录
gocd的地址:Installing GoCD server on Windows | GoCD User Documentation gocd文档:GitHub - gocd/docker-gocd-server: Docker server image for GoCD 一、docker拉取gocd镜像 #拉取server镜像 docker pull gocd/gocd-server:v21.1.0docker pull g…...

使用pygame实现简单的烟花效果
import pygame import sys import random import math# 初始化 Pygame pygame.init()# 设置窗口大小 width, height 800, 600 screen pygame.display.set_mode((width, height)) pygame.display.set_caption("Fireworks Explosion")# 定义颜色 black (0, 0, 0) wh…...

ubantu系统运维命令,端口相关操作
1、使用sudo ufw status命令查看所有开放的端口,如下图: 2、使用命令sudo ufw allow 8443,打开端口8443.如下图: 3、使用 sudo ufw reload刷新端口配置,如下图:...

Java中的Stream API进阶使用
Java的Stream API是Java 8引入的一个强大的功能,它允许以声明性方式处理数据集合,例如过滤、映射、排序等。下面是一些Stream API的进阶使用: 自定义中间操作:你可以定义自己的中间操作,然后在Stream上使用它。例如&am…...