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

2020CCPC河南省赛题解

A. 班委竞选

签到题,模拟。

#include <bits/stdc++.h>
#define x first
#define y second
#define int long long
//#define double long doubleusing namespace std;
typedef unsigned long long ULL ;
typedef pair<int,int> PII ;
typedef pair<double,double> PDD ;
const int N = 200010 , M = N * 2 , mod = 998244353 ;
int n , m ;
int a[20] , id[20] ;void solve()
{cin >> n >> m ;for(int i = 1 ; i <= n ; i ++) {int c , x ;cin >> c >> x ;if(x > a[c]) {a[c] = x ;id[c] = i ;}}for(int i = 1 ; i <= m ; i ++)cout << id[i] << " " ;cout << "\n" ;
}
signed main()
{std::ios::sync_with_stdio(false) , cin.tie(0) , cout.tie(0) ;int t = 1 ;
//    cin >> t ;while (t --) solve() ;return 0;
}
C. 我得重新集结部队

模拟。

#include <bits/stdc++.h>
#define x first
#define y second
#define int long long
//#define double long doubleusing namespace std;
typedef unsigned long long ULL ;
typedef pair<int,int> PII ;
typedef pair<double,double> PDD ;
const int N = 200010 , M = N * 2 , mod = 998244353 ;
int n ;
struct node{int id , x , y , h , c , r , f ;
}a[2010];void solve()
{cin >> n ;for(int i = 1 ; i <= n ; i ++) {cin >> a[i].id ;if(a[i].id == 1) {cin >> a[i].x >> a[i].y >> a[i].h ;a[i].f = 1 ;}else {cin >> a[i].x >> a[i].y >> a[i].c >> a[i].r ;a[i].f = 1 ;}}for(int i = 1 ; i <= n ; i ++) {if(a[i].id == 2) {int uid = -1 , dis = 1e18 ;for(int j = 1 ; j < i ; j ++)if(a[j].id == 1 && a[j].f == 1) {int s = (a[i].x - a[j].x) * (a[i].x - a[j].x) + (a[i].y - a[j].y) * (a[i].y - a[j].y) ;if(s < dis) {dis = s ;uid = j ;}}if(uid != -1) {int fx = a[uid].x , fy = a[uid].y , d = a[i].r * a[i].r , ct = a[i].c * 3 ;for(int j = 1 ; j < i ; j ++)if(a[j].id == 1 && a[j].f == 1) {int s = (fx - a[j].x) * (fx - a[j].x) + (fy - a[j].y) * (fy - a[j].y) ;if(s <= d) {if(a[j].h <= ct) {a[j].f = 0 ;}else {a[j].h -= ct ;a[i].f = 0 ;}}}}}}for(int i = 1 ; i <= n ; i ++)if(a[i].f) cout << "Yes\n" ;else cout << "No\n" ;
}
signed main()
{std::ios::sync_with_stdio(false) , cin.tie(0) , cout.tie(0) ;int t = 1 ;
//    cin >> t ;while (t --) solve() ;return 0;
}
I. 太阳轰炸

这道题其实就是在问,投影的r+飞弹的r与轰炸范围的r的关系,如果前者大,所有飞弹都落在投影内,反之就需要去求落在投影内的概率,然后排列组合。用到了逆元,但不难。

#include <bits/stdc++.h>
#define x first
#define y second
#define int long longusing namespace std;
typedef unsigned long long ULL;
typedef pair<int, int> PII;
typedef pair<double, double> PDD;
const int N = 5000010, M = N * 2, mod = 1e9 + 7, md = 998244353;
int n, R1, R2, r, a, h;
int fa[N], infa[N], fu[N], fv[N];int qmi(int a, int k)
{int res = 1;while (k){if (k & 1)res = res * a % mod;a = a * a % mod;k >>= 1;}return res;
}
int C(int a, int b)
{if (b > a)return 0;return fa[a] * infa[b] % mod * infa[a - b] % mod;
}
void solve()
{cin >> n >> R1 >> R2 >> r >> a >> h;fa[0] = infa[0] = 1;for (int i = 1; i <= n; i++){fa[i] = i * fa[i - 1] % mod;infa[i] = infa[i - 1] * qmi(i, mod - 2) % mod;}int u = 1, v = 0;if (R2 > R1 + r){u = ((R1 + r) * (R1 + r) % mod) * qmi((R2 * R2) % mod, mod - 2) % mod;v = (R2 * R2 - (R1 + r) * (R1 + r)) % mod * qmi((R2 * R2) % mod, mod - 2) % mod;}else{if (n * a >= h)cout << "1\n";elsecout << "0\n";return;}int p = h / a;if (h % a)p++;fu[0] = fv[0] = 1;for (int i = 1; i <= n; i++)fu[i] = (fu[i - 1] * u) % mod;for (int i = 1; i <= n; i++)fv[i] = (fv[i - 1] * v) % mod;int res = 0;for (int i = p; i <= n; i++){int s = C(n, i) % mod;res = (res + s * fu[i] % mod * fv[n - i] % mod) % mod;}cout << res << "\n";
}signed main()
{std::ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);int t = 1;//    cin >> t ;while (t--)solve();return 0;
}
E. 发通知

异或前缀和,想到了这一点这道题就很明了了,还需要一个离散化就ok了。

#include <bits/stdc++.h>
#define x first
#define y second
#define int long longusing namespace std;
typedef unsigned long long ULL;
typedef pair<int, int> PII;
typedef pair<double, double> PDD;
const int N = 500010, M = N * 2, mod = 1e9 + 7, md = 998244353;
int n, k, cnt;
int a[N], b[N], w[N], sw[N * 3], s[N * 3];void solve()
{cin >> n >> k;vector<int> q;map<int, int> mp;for (int i = 1; i <= n; i++){cin >> a[i] >> b[i] >> w[i];q.push_back(a[i]), q.push_back(b[i]), q.push_back(b[i] + 1);}sort(q.begin(), q.end());for (int i = 0; i < q.size(); i++)if (!mp.count(q[i]))mp[q[i]] = ++cnt;for (int i = 1; i <= n; i++){int l = mp[a[i]], r = mp[b[i]] + 1;s[l]++, s[r]--;sw[l] ^= w[i], sw[r] ^= w[i];}for (int i = 2; i <= cnt; i++)s[i] += s[i - 1], sw[i] ^= sw[i - 1];int res = -1;for (int i = 1; i <= cnt; i++)if (s[i] >= k)res = max(res, sw[i]);cout << res << "\n";
}signed main()
{std::ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);int t = 1;//    cin >> t ;while (t--)solve();return 0;
}
B. 广告投放

首先要知道 x / a / b = x / ( a × b ) x/a/b=x/(a \times b) x/a/b=x/(a×b)
这样我们就可以预处理出m所以取值,只有 m \sqrt m m 种可能。
这样就可以用dp来解决了, f [ i ] [ j ] f[i][j] f[i][j]表示在第 i i i j j j个人观看的最大收益。
转移方程: f [ i + 1 ] [ j / d [ i ] ] = m a x ( f [ i + 1 ] [ j / d [ i ] ] , f [ i ] [ j ] + c ∗ p [ i ] ) f[i+1][j/d[i]]=max(f[i+1][j/d[i]],f[i][j]+c*p[i]) f[i+1][j/d[i]]=max(f[i+1][j/d[i]],f[i][j]+cp[i])
n ≤ 1 0 5 n \leq 10^5 n105,我们可以优化掉第一维度,因为 j / d [ i ] ≤ j j/d[i] \leq j j/d[i]j,所以第二维度需要从大到小枚举,其实只要我们预处理m的时候,从大到小处理就可以了。

#include <bits/stdc++.h>
#define x first
#define y second
#define int long longusing namespace std;
typedef unsigned long long ULL;
typedef pair<int, int> PII;
typedef pair<double, double> PDD;
const int N = 100010, M = N * 2, mod = 1e9 + 7, md = 998244353;
int n, m, cnt;
int p[N], d[N], f[N], a[N];void solve()
{cin >> n >> m;for (int i = 1; i <= n; i++)cin >> p[i];for (int i = 1; i <= n; i++)cin >> d[i];a[++cnt] = 0;set<int> st;for (int i = m; i >= 1; i--){if (!st[m / i]){st.insert(m / i);a[++cnt] = m / i;}}for (int i = 1; i <= n; i++){for (int j = 1; j <= cnt; j++)f[a[j] / d[i]] = max(f[a[j]] + a[j] * p[i], f[a[j] / d[i]]);}int res = 0;for (int i = 0; i <= m; i++)res = max(res, f[i]);cout << res << "\n";
}signed main()
{std::ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);int t = 1;//    cin >> t ;while (t--)solve();return 0;
}
J. 二进制与、平方和

在线段树上维护区间或和区间平方和即可。
如果某一段的区间或&x没有变化,则说明这一段区间不需要修改。

#include <bits/stdc++.h>
#define x first
#define y second
#define int long longusing namespace std;
typedef unsigned long long ULL;
typedef pair<int, int> PII;
typedef pair<double, double> PDD;
const int N = 300010, M = N * 2, mod = 998244353;
int n, q;
int a[N];struct Node
{int s, s2;
} tr[N * 4];void pushup(int u)
{tr[u].s2 = (tr[u << 1].s2 + tr[u << 1 | 1].s2) % mod;tr[u].s = tr[u << 1].s | tr[u << 1 | 1].s;
}
void build(int u, int l, int r)
{if (l == r){tr[u].s = a[l];tr[u].s2 = a[l] * a[l] % mod;return;}int mid = l + r >> 1;build(u << 1, l, mid), build(u << 1 | 1, mid + 1, r);pushup(u);
}
int query(int u, int l, int r, int L, int R)
{if (l >= L && r <= R)return tr[u].s2;int mid = l + r >> 1;int v = 0;if (L <= mid)v = (v + query(u << 1, l, mid, L, R)) % mod;if (R > mid)v = (v + query(u << 1 | 1, mid + 1, r, L, R)) % mod;return v;
}
void modify(int u, int l, int r, int L, int R, int x)
{if ((tr[u].s & x) == tr[u].s)return;if (l == r){tr[u].s = tr[u].s & x;tr[u].s2 = tr[u].s * tr[u].s % mod;return;}int mid = l + r >> 1;if (L <= mid)modify(u << 1, l, mid, L, R, x);if (R > mid)modify(u << 1 | 1, mid + 1, r, L, R, x);pushup(u);
}
void solve()
{cin >> n;for (int i = 1; i <= n; i++)cin >> a[i];build(1, 1, n);cin >> q;while (q--){int op;cin >> op;if (op == 1){int l, r, x;cin >> l >> r >> x;modify(1, 1, n, l, r, x);}else{int l, r;cin >> l >> r;cout << query(1, 1, n, l, r) << "\n";}}
}signed main()
{std::ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);int t = 1;//    cin >> t ;while (t--)solve();return 0;
}
K. 子串翻转回文串

哈希,先找到最开始不同的位置l和最后不同的位置r,翻转一定是(l,i)或者(i,r)。
对正串和反串做哈希,枚举翻转位置,用哈希判断是否对称。(需要双哈希…

#include <bits/stdc++.h>
#define x first
#define y second
#define int long longusing namespace std;
typedef unsigned long long ULL;
typedef pair<int, int> PII;
typedef pair<double, double> PDD;
const int N = 500010, M = N * 2, mod = 1e9 + 7, P = 131;
int n;
string s, u;
ULL h1[N], p[N], h2[N];ULL get1(int l, int r)
{return (h1[r] - h1[l - 1] * p[r - l + 1] % mod + mod) % mod;
}
ULL get2(int l, int r)
{return (h2[r] - h2[l - 1] * p[r - l + 1] % mod + mod) % mod;
}
void solve()
{cin >> s;n = s.size();u = s;reverse(u.begin(), u.end());s = " " + s, u = " " + u;int l = 1, r = n;while (l <= n && s[l] == u[l])l++;while (r >= 1 && s[r] == u[r])r--;if (l >= r){cout << "Yes\n";return;}p[0] = 1;for (int i = 1; i <= n; i++){p[i] = p[i - 1] * P % mod;h1[i] = (h1[i - 1] * P % mod + s[i]) % mod;h2[i] = (h2[i - 1] * P % mod + u[i]) % mod;}ULL f1 = h1[n], f2 = h2[n];for (int i = l; i <= r; i++){ULL suma = ((h1[n] - get1(l, i) * p[n - i] % mod + mod) % mod + get2(n - i + 1, n - l + 1) * p[n - i] % mod) % mod, suma1 = ((h2[n] - get2(n - i + 1, n - l + 1) * p[l - 1] % mod + mod) % mod + get1(l, i) * p[l - 1] % mod) % mod;ULL sumb = ((h1[n] - get1(i, r) * p[n - r] % mod + mod) % mod + get2(n - r + 1, n - i + 1) * p[n - r] % mod) % mod, sumb1 = ((h2[n] - get2(n - r + 1, n - i + 1) * p[i - 1] % mod + mod) % mod + get1(i, r) * p[i - 1] % mod) % mod;if (suma == suma1 || sumb == sumb1){cout << "Yes\n";return;}}cout << "No\n";
}signed main()
{std::ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);int t = 1;cin >> t;while (t--)solve();return 0;
}
F. 旅游胜地

二分距离+2-set。

#include <bits/stdc++.h>
#define x first
#define y second
#define int long longusing namespace std;
typedef unsigned long long ULL;
typedef pair<int, int> PII;
typedef pair<double, double> PDD;
const int N = 1000010, M = N * 2, mod = 1e9 + 7, P = 131;
int n, m;
int a[N], b[N], u[N], v[N];
int h[N], e[M], ne[M], idx;
int dfn[N], low[N], tmp, stk[N], top, in_stk[N], id[N], s_cnt;void add(int a, int b)
{e[idx] = b, ne[idx] = h[a], h[a] = idx++;
}
void tarjan(int u)
{low[u] = dfn[u] = ++tmp;stk[++top] = u;in_stk[u] = 1;for (int i = h[u]; ~i; i = ne[i]){int j = e[i];if (!dfn[j]){tarjan(j);low[u] = min(low[u], low[j]);}else if (in_stk[j])low[u] = min(low[u], dfn[j]);}if (dfn[u] == low[u]){++s_cnt;int y;do{y = stk[top--];in_stk[y] = 0;id[y] = s_cnt;} while (y != u);}
}
bool check(int mid)
{for (int i = 0; i <= n * 2; i++)h[i] = -1, dfn[i] = low[i] = stk[i] = in_stk[i] = id[i] = 0;idx = top = s_cnt = tmp = 0;for (int i = 0; i < m; i++){int fu = u[i], fv = v[i];if (abs(a[fu] - a[fv]) > mid){add(fu, fv + n), add(fv, fu + n);}if (abs(a[fu] - b[fv]) > mid){add(fu, fv), add(fv + n, fu + n);}if (abs(b[fu] - a[fv]) > mid){add(fu + n, fv + n), add(fv, fu);}if (abs(b[fu] - b[fv]) > mid){add(fu + n, fv), add(fv + n, fu);}}for (int i = 1; i <= n * 2; i++){if (!dfn[i])tarjan(i);}for (int i = 1; i <= n; i++)if (id[i] == id[i + n])return false;return true;
}
void solve()
{cin >> n >> m;for (int i = 1; i <= n; i++)cin >> a[i];for (int i = 1; i <= n; i++)cin >> b[i];for (int i = 0; i < m; i++){cin >> u[i] >> v[i];}int l = 0, r = 1e10;while (l < r){int mid = (l + r) / 2;if (check(mid))r = mid;elsel = mid + 1;}cout << l << "\n";
}signed main()
{std::ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);int t = 1;// cin >> t;while (t--)solve();return 0;
}

相关文章:

2020CCPC河南省赛题解

A. 班委竞选 签到题&#xff0c;模拟。 #include <bits/stdc.h> #define x first #define y second #define int long long //#define double long doubleusing namespace std; typedef unsigned long long ULL ; typedef pair<int,int> PII ; typedef pair<d…...

C语言输入函数对比解析

目录 C语言输入函数全家福&#xff08;和它们的秘密&#xff09;fgetsgetsscanfgetcharfscanf函数对比表灵魂总结 哈哈&#xff0c;看来你正在和C语言的输入函数们玩“大家来找茬”&#xff01;放心&#xff0c;我会用最接地气的方式给你讲明白&#xff0c;保证比看《甄嬛传》还…...

python四则运算计算器

python四则运算计算器 是谁说&#xff0c;python不好写计算器的&#xff0c;我亲自写个无ui的计算器功能&#xff0c;证明这是谣言 step1:C:\Users\wangrusheng\Downloads\num.txt 15 - 4 * 3 10 / 2(5 3) * 2 6 / 31/2 * 8 3/4 * 4 - 0.52.5 * (4 1.6) - 9 / 3-6 12 * (…...

BUUCTF——Nmap

BUUCTF——Nmap 进入靶场 类似于一个nmap的网站 尝试一下功能 没什么用 看看数据包 既然跟IP相关 伪造一个XXF看看 拼接了一下没什么用 果然没这么简单 尝试一下命令注入 构造payload 127.0.0.1 | ls 应该有过滤 加了个\ 直接构造个php木马上传试试 127.0.0.1 | <?…...

【Changer解码头详解及融入neck层数据的实验设计】

Changer解码头详解 ChangerEx中的 Changer 解码头&#xff08;定义在 [changer.py](file://opencd\models\decode_heads\changer.py)&#xff09;是基于双时相输入的&#xff0c;用于遥感变化检测任务。下面我将详细解释&#xff1a; &#x1f3af; 一、解码头输入数据来源 输…...

深度学习推理引擎---OpenVINO

OpenVINO&#xff08;Open Visual Inference & Neural Network Optimization Toolkit&#xff09;是英特尔开发的开源工具套件&#xff0c;旨在优化和加速深度学习模型在英特尔硬件&#xff08;CPU、GPU、VPU、FPGA等&#xff09;上的推理性能&#xff0c;同时支持从训练到…...

JavaScript splice() 方法

1. JavaScript splice() 方法 1.1. 定义和用法 splice() 方法用于添加或删除数组中的元素。   注意&#xff1a;这种方法会改变原始数组。   返回值&#xff1a;如果删除一个元素&#xff0c;则返回一个元素的数组。 如果未删除任何元素&#xff0c;则返回空数组。 1.2. …...

数据库故障排查指南:解决常见问题,保障数据安全与稳定

数据库故障排查指南&#xff1a;解决常见问题&#xff0c;保障数据安全与稳定 &#x1f4d6; 前言 数据库作为现代应用的核心组件&#xff0c;其稳定性直接影响业务连续性。本文总结六大常见数据库故障场景&#xff0c;提供快速排查思路与解决方案&#xff0c;助你化身"…...

gem5-gpu教程 第十章 关于topology 的Mesh network

问题一、L1和L2缓存之间的VI_hammer_fusion中指定了互连延迟,如何更改这些数字吗? 我已经实现了一个网格拓扑来连接cpu内核和GPU SM,并对VI_hammer*和网格文件进行了所有必要的更改。我的问题是: 1. There is interconnect latency specified in VI_hammer_fusion betwee…...

【C/C++】C++返回值优化:RVO与NRVO全解析

文章目录 C返回值优化&#xff1a;RVO与NRVO全解析1 简介2 RVO vs NRVO3 触发条件4 底层机制5 应用场景6 验证与限制7 性能影响8 补充说明9 总结 C返回值优化&#xff1a;RVO与NRVO全解析 返回值优化&#xff08;Return Value Optimization, RVO&#xff09;是编译器通过消除临…...

使用 Kaniko来构建镜像

使用 Kaniko来构建镜像 Kaniko 是一种专注于容器镜像构建的开源工具&#xff0c;其核心设计理念与 Docker 存在显著差异。以下从功能定位、技术实现和适用场景三方面进行对比分析&#xff1a; 一、Kaniko 的核心特性 无需 Docker 守护进程 Kaniko 直接在容器或 Kubernetes 集…...

2025.05.17淘天机考笔试真题第三题

&#x1f4cc; 点击直达笔试专栏 &#x1f449;《大厂笔试突围》 &#x1f4bb; 春秋招笔试突围在线OJ &#x1f449; 笔试突围OJ 03. 奇偶平衡树分割问题 问题描述 K小姐是一位园林设计师&#xff0c;她设计了一个由多个花坛组成的树形公园。每个花坛中种植了不同数量的花…...

history模式:让URL更美观

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》、《前端求职突破计划》 &#x1f35a; 蓝桥云课签约作者、…...

算法:分治法

实验内容 在一个2kⅹ2k个方格组成的棋盘中&#xff0c;若恰有一个方格与其他方格不同&#xff0c;则称该方格为特殊方格&#xff0c;且称该棋盘为一特殊棋盘。 显然&#xff0c;特殊方格出现的位置有4k 种情况&#xff0c;即k>0,有4k 种不同的特殊棋盘 棋盘覆盖&#xff1a…...

豆粕ETF投资逻辑整理归纳-20250511

目录 一、什么是豆粕 基本概念 豆粕上游生产国 豆粕下游消耗方 二、豆粕ETF 概念 策略 展期操作 超额收益 行情波动 豆粕资产的低相关性 三、展期收益 Contango升水结构和Backwardation贴水结构 豆粕的贴水逻辑 还有哪些品种拥有长期的展期收益 四、其他相关信…...

使用 Python 连接 Oracle 23ai 数据库完整指南

方法一:使用 oracledb 官方驱动(推荐) Oracle 官方维护的 oracledb 驱动(原 cx_Oracle)是最新推荐方案,支持 Thin/Thick 两种模式。 1. 环境准备 pip install oracledb2. 完整示例代码 import oracledb import getpass from typing import Unionclass Oracle23aiConn…...

构建集成差异化灵巧手和先进机器人控制技术的自动化系统

介绍程序 1.流程分析 通过流程分析审查应用机器人自动化的可行性。 2.系统设计 选择合适的机器人&#xff08;机械臂、夹持器、视觉系统等&#xff09;&#xff0c;并通过详细的任务分析设计最佳系统。 3.内部测试 建立内部测试平台并解决任何问题。 4.现场测试 现场设…...

题单:汉诺塔问题

题目描述 如下图所示&#xff0c;设有 nn 个大小不等的中空圆盘&#xff0c;按照从小到大的顺序叠套在立柱 A 上&#xff0c;另有两根立柱 B 和 C 。 现在要求把全部圆盘从 A 柱&#xff08;称为源柱&#xff09;移到 C 柱&#xff08;称为目标柱&#xff09;&#xff0c;移动…...

Unable to get end effector tips from jmg

这个错误信息表明在使用MoveIt2时&#xff0c;moveit_visual_tools无法从关节模型组&#xff08;Joint Model Group&#xff0c;简称JMG&#xff09;中获取末端执行器&#xff08;End Effector&#xff0c;简称EE&#xff09;的尖端信息。这通常是因为配置文件中缺少相关信息&a…...

flutter flutter run 运行项目卡在Running Gradle task ‘assembleDebug‘...

flutter run --verbose在运行flutter run 可以看到是卡在哪一步 最重要的就是自己查看日志&#xff0c;具体哪一步有问题flutter run --verbose使用这个&#xff0c;运行了项目会将错误信息放在控制台 可能原因 静态资源问题如果&#xff1a;图片、字体文件等没有在pubspec.yam…...

STM32烧录程序正常,但是运行异常

一、硬件配置问题 BOOT引脚设置错误 STM32的启动模式由BOOT0和BOOT1引脚决定。若设置为从RAM启动&#xff08;BOOT01&#xff0c;BOOT10&#xff09;&#xff0c;程序在掉电后无法保存&#xff0c;导致复位后无法正常运行。应确保BOOT00&#xff08;从Flash启动&#xff09;15。…...

TTS:F5-TTS 带有 ConvNeXt V2 的扩散变换器

1&#xff0c;项目简介 F5-TTS 于英文生成领域表现卓越&#xff0c;发音标准程度在本次评测软件中独占鳌头。再者&#xff0c;官方预设的多角色生成模式独具匠心&#xff0c;能够配置多个角色&#xff0c;一次性为多角色、多情绪生成对话式语音&#xff0c;别出心裁。 最低配置…...

ecmascript 第6版特性 ECMA-262 ES6

https://blog.csdn.net/zlpzlpzyd/article/details/146125018 在之前写的文章基础上&#xff0c;ES6在export和import的基础外&#xff0c;还有如下特性 特性说明let/const块级作用域变量声明>箭头函数Promise异步编程...

2024 山东省ccpc省赛

目录 I&#xff08;签到&#xff09; 题目简述&#xff1a; 思路&#xff1a; 代码&#xff1a; A&#xff08;二分答案&#xff09; 题目简述&#xff1a; 思路&#xff1a; 代码&#xff1a; K&#xff08;构造&#xff09; 题目&#xff1a; 思路&#xff1a; 代…...

角点特征:从传统算法到深度学习算法演进

1 概述 图像特征是用来描述和分析图像内容的关键属性&#xff0c;通常包括颜色、纹理和形状等信息。颜色特征能够反映图像中不同颜色的分布&#xff0c;常通过 RGB 值或色彩直方图表示。纹理特征则关注图像表面的结构和细节&#xff0c;例如通过灰度共生矩阵或局部二值模式&…...

免费代理IP服务有哪些隐患?如何安全使用?

代理IP已经成为互联网众多用户日常在线活动中不可或缺的一部分。无论是为了保护个人隐私、突破地理限制&#xff0c;还是用于数据抓取、广告投放等商业用途&#xff0c;代理IP都扮演着关键角色。然而&#xff0c;市场上存在大量的免费代理IP服务&#xff0c;尽管它们看起来颇具…...

深入了解 VPC 端点类型 – 网关与接口

什么是VPC 端点 VPC 端点&#xff08;VPC Endpoint&#xff09;是 Amazon Web Services (AWS) 提供的一种服务&#xff0c;允许用户在 Virtual Private Cloud (VPC) 内部安全地访问 AWS 服务&#xff0c;而无需通过公共互联网。VPC 端点通过私有连接将 VPC 与 AWS 服务直接连接…...

Android屏幕采集编码打包推送RTMP技术详解:从开发到优化与应用

在现代移动应用中&#xff0c;屏幕采集已成为一个广泛使用的功能&#xff0c;尤其是在实时直播、视频会议、远程教育、游戏录制等场景中&#xff0c;屏幕采集技术的需求不断增长。Android 平台为开发者提供了 MediaProjection API&#xff0c;这使得屏幕录制和采集变得更加简单…...

信息系统项目管理师高级-软考高项案例分析备考指南(2023年案例分析)

个人笔记整理---仅供参考 计算题 案例分析里的计算题就是进度、挣值分析、预测技术。主要考査的知识点有:找关键路径、求总工期、自由时差、总时差、进度压缩资源平滑、挣值计算、预测计算。计算题是一定要拿下的&#xff0c;做计算题要保持头脑清晰&#xff0c;认真读题把PV、…...

全栈项目搭建指南:Nuxt.js + Node.js + MongoDB

全栈项目搭建指南&#xff1a;Nuxt.js Node.js MongoDB 一、项目概述 我们将构建一个完整的全栈应用&#xff0c;包含&#xff1a; 前端&#xff1a;Nuxt.js (SSR渲染)后端&#xff1a;Node.js (Express/Koa框架)数据库&#xff1a;MongoDB后台管理系统&#xff1a;集成在同…...

Linux:基础IO

一&#xff1a;理解文件 1-1 狭义理解 文件存储在磁盘中&#xff0c;由于磁盘是永久性存储介质&#xff0c;因此文件在磁盘上的存储是永久性的&#xff1b;磁盘也是外设&#xff0c;因此磁盘上对文件的所有操作本质是对外设的输入和输出 1-2 广义理解 Linux下一切皆文件&am…...

MySQL 索引优化以及慢查询优化

在数据库性能优化中&#xff0c;索引优化和慢查询优化是两个关键环节。合理使用索引可以显著提高查询效率&#xff0c;而识别和优化慢查询则能提升整体数据库性能。本文将详细介绍MySQL索引优化和慢查询优化的方法和最佳实践。 一、MySQL 索引优化 1.1 索引的基本概念 索引是…...

Leaflet使用SVG创建动态Legend

接前一篇文章&#xff0c;前一篇文章我们使用 SVG 创建了带有动态文字的图标&#xff0c;今天再看看怎样在地图上根据动态图标生成相关的legend&#xff0c;当然这里也还是使用了 SVG 来生成相关颜色的 legend。 看下面的代码&#xff0c;生成了一个 svg 节点&#xff0c;其中…...

使用 Vue Tour 封装一个统一的页面引导组件

项目开发过程中需要实现用户引导功能&#xff0c;经过调研发现一个好用的 Vue 插件 vue-tour&#xff0c;今天就来分享一下我是如何基于 vue-tour 封装一个统一的引导组件&#xff0c;方便后续在多个页面复用的。 &#x1f4e6; 第一步&#xff1a;安装 vue-tour 插件 首先安装…...

OpenResty 深度解析:构建高性能 Web 服务的终极方案

引言 openresty是什么&#xff1f;在我个人对它的理解来看相当于嵌入了lua的nginx; 我们在nginx中嵌入lua是为了不需要再重新编译,我们只需要重新修改lua脚本,随后重启即可; 一.lua指令序列 我们分别从初始化阶段&#xff0c;重写/访问阶段&#xff0c;内容阶段&#xff0c;日志…...

赋能企业级移动应用 CFCA FIDO+提升安全与体验

移动办公与移动金融为企业有效提升业务丰富性、执行便捷性。与此同时&#xff0c;“安全”始终是移动办公与移动金融都绕不开的话题。随着信息安全技术的发展&#xff0c;企业级移动应用中安全与便捷不再是两难的抉择。 中金金融认证中心&#xff08;CFCA&#xff09;作为经国…...

Redis 数据类型与操作完全指南

Redis 是一个开源的、内存中的数据结构存储系统&#xff0c;它可以用作数据库、缓存和消息中间件。与传统的关系型数据库不同&#xff0c;Redis 提供了丰富的数据类型和灵活的操作方式&#xff0c;这使得它能够高效地解决各种不同场景下的数据存储和处理问题。本文将全面介绍 R…...

ArrayList-集合使用

自动扩容&#xff0c;集合的长度可以变化&#xff0c;而数组长度不变&#xff0c;集合更加灵活。 集合只能存引用数据类型&#xff0c;不能直接存基本数据类型&#xff0c;除非包装 ArrayList会拿[]展示数据...

深入解析Spring Boot与Redis集成:高效缓存实践

深入解析Spring Boot与Redis集成&#xff1a;高效缓存实践 引言 在现代Web应用开发中&#xff0c;缓存技术是提升系统性能的重要手段之一。Redis作为一种高性能的键值存储数据库&#xff0c;广泛应用于缓存、会话管理和消息队列等场景。本文将详细介绍如何在Spring Boot项目中…...

8天Python从入门到精通【itheima】-11~13

目录 11节-PyCharm的安装和基础使用&#xff1a; 1.第三方IDE&#xff08;集成开发工具&#xff09; 2.PyCharm的所属——jetbrains公司 3.进入jetbrains的官网&#xff0c;搜索下载【官网自带中文&#xff0c;太友好了&#xff0c;爱你&#xff08;づ&#xffe3;3&#x…...

day33-网络编程

1. 网络编程入门 1.1 网络编程概述 计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备&#xff0c;通过通信线路连接起来&#xff0c;在网络操作系统&#xff0c;网络管理软件及网络通信协议的管理和协调下&#xff0c;实现资源共享和信息传递的计算机系统…...

CMake基础及操作笔记

CMake 基础与操作&#xff1a;从入门到精通 前言 CMake 是一个功能强大、跨平台的构建工具&#xff0c;广泛用于 C 项目管理。它通过简洁的配置文件&#xff08;CMakeLists.txt&#xff09;描述编译过程&#xff0c;生成适用于不同平台的构建脚本&#xff08;如 Makefile 或 …...

使用lvm进行磁盘分区

使用lvm进行磁盘分区 目的&#xff1a; 使用/dev/vdb创建一个5g的逻辑卷挂载到/mnt/lvmtest 前提&#xff1a; /dev/vdb是一块干净的空磁盘&#xff0c;数据会被清空&#xff01;&#xff01;&#xff01; 1. 创建物理卷(PV)&#xff1a; pvcreate /dev/sdb2. 验证&#xf…...

Java的线程通信机制是怎样的呢?

核心观点:线程通信本质是状态同步与数据传递的协同控制 (类比测试团队协作:如同测试用例执行需要同步进度,测试数据需要跨线程传递) 一、基础通信机制(附测试验证方法) 1. 共享内存(最常用但最危险) // 测试典型场景:多线程统计测试用例通过率 public class Share…...

线性回归策略

一种基于ATR(平均真实范围)、线性回归和布林带的交易策略。以下是对该策略的全面总结和分析: 交易逻辑思路 1. 过滤条件: - 集合竞价过滤:在每个交易日的开盘阶段,过滤掉集合竞价产生的异常数据。 - 价格异常过滤:排除当天开盘价与最高价或最低价相同的情况,这…...

Sparse4D运行笔记

Sparse4D有三个版本&#xff0c;其中V1和V2版本的官方文档中环境依赖写得比较模糊且依赖库有版本冲突。 1. Sparse4D V1 创建环境 conda create sparse4dv1 python3.8 激活环境 conda activate sparse4dv1 安装torch, torchvision, torchaudio pip install torch1.13.0c…...

Bitmap、Roaring Bitmap、HyperLogLog对比介绍

一、Bitmap(位图)概述 Bitmap 是一种用位(bit)来表示集合元素是否存在的数据结构。每个位代表一个元素的状态(0或1),非常节省空间且支持快速集合操作。 常见Bitmap类型: 普通Bitmap 最简单的位数组,适合元素范围固定且不稀疏的场景。例如,元素范围是0~1000,用1001…...

Rust 数据结构:HashMap

Rust 数据结构&#xff1a;HashMap Rust 数据结构&#xff1a;HashMap创建一个新的哈希映射HashMap::new()将元组变成哈希表 访问哈希映射中的值哈希映射和所有权更新哈希映射重写一个值仅当键不存在时才添加键和值基于旧值更新值 散列函数 Rust 数据结构&#xff1a;HashMap …...

Spring6学习及复习笔记

1、快速入门认识 通过编写xml配置文件来创建对象&#xff0c;读取bean标签的id值和class值来创建。 之后再通过对象调用相关的方法&#xff08;这里实际上用到的是反射机制&#xff09; 对象会存放到Map集合中 大致反射思路如下&#xff1a;&#xff08;这里只是模拟&#x…...

开源语音-文本基础模型和全双工语音对话框架 Moshi 介绍

介绍 一、项目背景 Moshi是一种语音-文本基础模型和全双工语音对话框架。它使用了Mimi这一业界领先的流式神经音频编解码器。Mimi能够以完全流式处理的方式&#xff08;80毫秒的延迟&#xff0c;即帧大小&#xff09;&#xff0c;将24千赫兹的音频信号压缩为12.5赫兹的表示形式…...