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

Atcoder Beginner Contest 359

传送门

A - Count Takahashi

时间限制:2秒        内存限制:1024MB

分数:100分

问题描述

给定 N 个字符串。

第 i 个字符串 S_i (1 \le i \le N) 要么是 Takahashi 要么是 Aoki。

有多少个 i 使得 S_i 等于 Takahashi ?

限制

  • 1 \le N \le 100
  • N 是整数。
  • 每个字符串 S_i 是 Takahashi 或者 Aoki。(1 \le i \le N)

输入格式

        N\\ S_1\\ S_2\\ \vdots\\ S_N

输出格式

        输出 S_i 等于 Takahashi 的数量。

样例输入输出

样例输入1

        3\\ Aoki\\ Takahashi\\ Takahashi

样例输出1

        2

S_2 和 S_3 等于 Takahashi,而 S_1 不等于 Takahashi。

因此,输出 2。

样例输入2

        2\\ Aoki\\ Aoki

样例输出2

        0

没有 S_i 等于 Takahashi。

样例输入3

        20\\ Aoki\\ Takahashi\\ Takahashi\\ Aoki\\ Aoki\\ Aoki\\ Aoki\\ Takahashi\\ Aoki\\ Aoki\\ Aoki\\ Takahashi\\ Takahashi\\ Aoki\\ Takahashi\\ Aoki\\ Aoki\\ Aoki\\ Aoki\\ Takahashi

样例输出3

        7

代码

#include <bits/stdc++.h>
using namespace std;inline int read() {int x = 0, f = 1; char c = getchar();while (c < '0' || c > '9') { if (c == '-') f = -1; c = getchar(); }while (c >= '0' && c <= '9') x = x * 10 + c - '0', c = getchar();return x * f;
}int main () {int n = read(), cnt = 0;while (n--) {string s;cin >> s;if (s[0] == 'T') cnt++;}cout << cnt;return 0;
}

B - Couples

时间限制:2秒        内存限制:1024MB

分数:150分

问题描述

有 2N 个人站成一排,位于第i个位置的人穿着颜色为 A_i 的衣服。这里,衣服有 N 种颜色,每种颜色正好有两个人穿。

找出满足以下条件的整数 i = 1, 2, \cdots, N 的数量:

  • 颜色为 i 的两个人之间正好有一个人。

限制

  • 2 \le N \le 100
  • 1 \le A_i \le N
  • 每个从 1 到 N 的每个整数在 A 中恰好出现两次。
  • 所有输入值都是整数。

输入格式

        N\\ A_1 \hspace{1em} A_2 \hspace{1em} \cdots \hspace{1em} A_{2N}

输出格式

        输出答案

样例输入输出

样例输入1

        3\\ 1 \hspace{0.5em} 2 \hspace{0.5em} 1 \hspace{0.5em} 3 \hspace{0.5em} 2 \hspace{0.5em} 3

样例输出1

        2

有两个 i 值满足条件:1 和 3。

实际上,穿着颜色为 1 的衣服的人分别在从左数第 1 和第 3 的位置,中间正好有一个人。

样例输入2

        2\\ 1 \hspace{0.5em} 1 \hspace{0.5em} 2 \hspace{0.5em} 2

样例输出2

        0

没有 i 值满足条件。

样例输入3

        4\\ 4 \hspace{0.5em} 3 \hspace{0.5em} 2 \hspace{0.5em} 3 \hspace{0.5em} 2 \hspace{0.5em} 1 \hspace{0.5em} 4 \hspace{0.5em} 1

样例输出3

        3

代码

#include <bits/stdc++.h>
using namespace std;inline int read() {int x = 0, f = 1; char c = getchar();while (c < '0' || c > '9') { if (c == '-') f = -1; c = getchar(); }while (c >= '0' && c <= '9') x = x * 10 + c - '0', c = getchar();return x * f;
}int main () {int n = read(), a[205], cnt = 0;for (int i = 1; i <= 2 * n; i++) a[i] = read();for (int i = 1; i < 2 * n; i++) {for (int j = i + 1; j <= 2 * n; j++) {if (a[i] == a[j] && j == i + 2) {cnt++;break;}}}cout << cnt;return 0;
}

C - Tile Distance 2

时间限制:2秒        内存限制:1024MB

分数:350分

问题描述

坐标平面被 2 × 1 的瓷砖覆盖。瓷砖的铺设遵循以下规则:

  • 对于整数对 (i, j),方块 A_{i, j} = \{(x, y) | i \le x \le i + 1 \land j \le y \le j + 1\} 包含在一块瓷砖中。
  • 当 i + j 是偶数时,A_{i ,j} 和 A_{i + 1, j} 包含在同一块瓷砖中。

瓷砖包括它们的边界,并且没有两块不同的瓷砖共享正面积。

在靠近原点的地方,瓷砖的铺设如下:

Takahashi 从坐标平面上的点 (S_x + 0.5, S_y + 0.5) 开始。

他可以重复以下移动操作任意次数:

选择一个方向(上,下,左,右)和一个正整数 n。向该方向移动 n 个单位。
每次他进入一个瓷砖,他需要支付 1 的费用。

求他到达点 (T_x + 0.5, T_y + 0.5) 所需支付的最少费用。

限制

  • 0 \le S_x \le 2 \times 10^{16}
  • 0 \le S_y \le 2 \times 10^{16}
  • 0 \le T_x \le 2 \times 10^{16}
  • 0 \le T_y \le 2 \times 10^{16}
  • 所有输入都是整数。

输入格式

        S_x \hspace{1em} S_y\\ T_x \hspace{1em} T_y

输出格式

        输出 Takahashi 需要支付的最少费用。

样例输入输出

样例输入1

        5 \hspace{0.5em} 0\\ 2 \hspace{0.5em} 5

样例输出1

        5

例如,Takahashi 可以通过以下移动支付 5 的费用:

  • 向左移动 1。支付 0 的费用。
  • 向上移动 1。支付 1 的费用。
  • 向左移动 1。支付 0 的费用。
  • 向上移动 3。支付 3 的费用。
  • 向左移动 1。支付 0 的费用。
  • 向上移动 1。支付 1 的费用。

无法将费用减少到 4 或更少,因此输出 5。

样例输入2

        3 \hspace{0.5em} 1\\ 4 \hspace{0.5em} 1

样例输出2

        0

有些情况下不需要支付任何费用。

样例输入3

        2552608206527595 \hspace{0.5em} 5411232866732612\\ 771856005518028 \hspace{0.5em} 7206210729152763

样例输出3

        1794977862420151

注意,输出的值可能会超过 32 位整数的范围。

思路

将移动分为竖直方向跟水平方向来考虑。

任何情况下,在竖直方向上的移动需要支付 |S_y - T_y| 。与此同时也能在水平方向上移动 |S_y - T_y| 个单位,所以要给 S_x 加上 |S_y - T_y| 。如果在此之后水平方向依旧无法到达,则需要加上 \frac{|S_x - T_x|}{2} 。

代码

#include <bits/stdc++.h>
using namespace std;
#define int long long
signed main () {int a, b, c, d;cin >> a >> b >> c >> d;if (a > c) swap(a, c), swap(b, d);if ((c + d) & 1) c--;if ((a + b) % 2 == 0) a++;int ans = abs(b - d);a += ans;if (a < c) ans += (c - a + 1) / 2;cout << ans;return 0;
}

E - Water Tank

时间限制:2秒        内存限制:1024MB

分数:500分

问题描述

给定一个长度为 N 的正整数序列 H = (H_1, H_2, \cdots, H_N)

有一个长度为 N + 1 的非负整数序列 A = (A_1, A_2, \cdots, A_N),初始时 A_1 = A_2 = \cdots = A_N = 0

重复执行以下操作直到结束:

1. 将 A_0 的值增加 1。
2. 对于每个 1, 2, \cdots, N,按顺序执行以下操作:
  如果 A_{i - 1} > A_i 并且 A_{i - 1} > H_i,则将 A_{i - 1} 的值减少 1,同时将 A_i 的值增加 1。

对于每个 i = 1, 2, \cdots, N,找出在 A_i > 0 首次成立之前执行了多少次操作。

限制

  • 1 \le N \le 2 \times 10 ^5
  • 1 \le H_i \le 10^9 \hspace{0.5em} (1 \le i \le N)
  • 所有输入都是整数。

输入格式

        N\\ H_1 \hspace{1em} H_2 \hspace{1em} \ldots \hspace{1em} H_N

输出格式

        将对于每个 i = 1, 2, \ldots, N 的答案输出在一行上,以空格分隔。

样例输入输出

样例输入1

        5\\ 3 \hspace{0.5em} 1 \hspace{0.5em} 4 \hspace{0.5em} 1 \hspace{0.5em} 5

样例输出1

        4 \hspace{0.5em} 5 \hspace{0.5em} 13 \hspace{0.5em} 14 \hspace{0.5em} 26

前五次操作如下。

这里,每一行对应一次操作,最左边的列代表步骤 1,其余的代表步骤 2。

从这个图表中可以看出,A_1 > 0 首次在第4次操作后成立,而 A_2 > 0 首次在第5次操作后成立。

类似地,A_3, A_4, A_5 的答案分别是 13,14,26。

因此,你应该输出 4 5 13 14 26。

样例输入2

6\\ 1000000000 \hspace{0.5em} 1000000000 \hspace{0.5em} 1000000000 \hspace{0.5em} 1000000000 \hspace{0.5em} 1000000000 \hspace{0.5em} 1000000000

样例输出2

1000000001 \hspace{0.5em} 2000000001 \hspace{0.5em} 3000000001 \hspace{0.5em} 4000000001 \hspace{0.5em} 5000000001 \hspace{0.5em} 6000000001

请注意,输出的值可能超出 32 位整数的范围。

样例输入3

15\\ 748 \hspace{0.5em} 169 \hspace{0.5em} 586 \hspace{0.5em} 329 \hspace{0.5em} 972 \hspace{0.5em} 529 \hspace{0.5em} 432 \hspace{0.5em} 519 \hspace{0.5em} 408 \hspace{0.5em} 587 \hspace{0.5em} 138 \hspace{0.5em} 249 \hspace{0.5em} 656 \hspace{0.5em} 114 \hspace{0.5em} 632

样例输出3

749 \hspace{0.5em} 918 \hspace{0.5em} 1921 \hspace{0.5em} 2250 \hspace{0.5em} 4861 \hspace{0.5em} 5390 \hspace{0.5em} 5822 \hspace{0.5em} 6428 \hspace{0.5em} 6836 \hspace{0.5em} 7796 \hspace{0.5em} 7934 \hspace{0.5em} 8294 \hspace{0.5em} 10109 \hspace{0.5em} 10223 \hspace{0.5em} 11373

思路

先说歪解:看样例猜答案

我们很容易能发现每一个输出第第一项都是 A_1 = H_1 + 1。当 i > 1 的时候,如果 H_{i - 1} \le H_i,那么 A_i = A_{i - 1} + H_{i};否则 A_i = \sum_{j = 1}^{i - 1}max(A_j, H_i)

(至于为什么各位先别急

  • A_1 = H_1 + 1 是因为 A_0 > H_1 才能将大于 H_1 的部分转移到 A_1

每次操作第二步的转移,题目意思是从 A_0 上连续转移到最右边可以转移的位置上,但这个也等价于在任意 A_i 上加 1,再向右转移

  • 如果 H_{i - 1} \le H_i,那么在这个条件下,只需要在 A_{i - 1} 上加 1,再将这个 1 转移到 A_i 上去即可(1步操作),所以 A_i = A_{i - 1} + H_{i}

代码

#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N = 2e5 + 10;
int n, h[N], a[N], maxid = 1;
inline int read() {int x = 0, f = 1; char c = getchar();while (c < '0' || c > '9') { if (c == '-') f = -1; c = getchar(); }while (c >= '0' && c <= '9') x = x * 10 + c - '0', c = getchar();return x * f;
}
stack<int> s;
signed main () {n = read();for (int i = 1; i <= n; i++) h[i] = read();for (int i = 1; i <= n; i++) {while (s.size() && h[s.top()] < h[i]) s.pop();if (s.size()) a[i] = a[s.top()] + (i - s.top()) * h[i];else a[i] = i * h[i] + 1;s.push(i);}for (int i = 1; i <= n; i++) printf("%lld ", a[i]);return 0;
}

F - Tree Degree Optimization

时间限制:2秒        内存限制:1024MB

分数:550分

问题描述

你有一个整数序列 A = (A_1, A_2, \ldots, A_N)。对于一棵有 N 个顶点的树 T,定义函数 f(T) 如下:

  • d_i​ 为顶点 i 在树 T 中的度数。那么 f(T) = \sum_{i = 1}^{N}d_i^2A_i

找出 f(T) 的最小可能值。

约束条件保证答案小于 2^{63}

限制

  • 2 \le N \le 2 \times 10^5
  • 1 \le A_i \le 10^9
  • 所有输入都是整数。

输入格式

        N\\ A_1 \hspace{1em} A_2 \hspace{1em} \ldots \hspace{1em} A_N

输出格式

        输出答案

样例输入输出

样例输入1

        4\\ 3 \hspace{0.5em} 2 \hspace{0.5em} 5 \hspace{0.5em} 2

样例输出1

        24

考虑一棵树 T,一条边连接顶点 1 和顶点 2,一条边连接顶点 2 和顶点 4,一条边连接顶点 4 和顶点 3。

那么,f(T) = 1^2 \times 3 + 2^2 \times 2 + 1^2 \times 5 + 2^2 \times 2 = 24。 可以证明这是 f(T) 的最小值。

样例输入2

        3\\ 4 \hspace{0.5em} 3 \hspace{0.5em} 2

样例输出2

        15

样例输入3

        7\\ 10 \hspace{0.5em} 5 \hspace{0.5em} 10 \hspace{0.5em} 2 \hspace{0.5em} 10 \hspace{0.5em} 13 \hspace{0.5em} 15

样例输出3

        128

思路

由于是一棵树,所以树中总共有 N - 1 条边,那么每个节点的度的范围为 [1, N - 1],每个节点的度的和 \sum_{i = 1}^{N}d_i = 2N - 2

最开始的时候,把每个节点的度初始化为 1。接着再用一个优先队列维护每一个节点的度加一后,f(T) 增加的最小值。因为 (d_i + 1)^2 = d_i^2 + 2 d_i + 1,所以只需要把 A_i(2d_i + 1) 放入优先队列,在维护一个小根堆即可。

代码

#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N = 2e5 + 10;
int n, a[N], d[N], ans = 0LL;
priority_queue<pair<int, int>, vector<pair<int, int>>, greater<pair<int, int>>> q;
inline int read() {int x = 0, f = 1; char c = getchar();while (c < '0' || c > '9') { if (c == '-') f = -1; c = getchar(); }while (c >= '0' && c <= '9') x = x * 10 + c - '0', c = getchar();return x * f;
}
signed main () {n = read();for (int i = 1; i <= n; i++) a[i] = read();for (int i = 1; i <= n; i++) {d[i] = 1, ans += a[i];q.push({3 * a[i], i});}for (int i = 1; i <= n - 2; i++) {int x = q.top().first, y = q.top().second;q.pop();ans += a[y] * (2 * d[y] + 1);d[y]++;q.push({a[y] * (2 * d[y] + 1), y});}printf("%lld", ans);return 0;
}

相关文章:

Atcoder Beginner Contest 359

传送门 A - Count Takahashi 时间限制&#xff1a;2秒 内存限制&#xff1a;1024MB 分数&#xff1a;100分 问题描述 给定 N 个字符串。 第 i 个字符串 () 要么是 Takahashi 要么是 Aoki。 有多少个 i 使得 等于 Takahashi &#xff1f; 限制 N 是整数。每个…...

无线通讯几种常规天线类别简介

天线对于无线模块来说至关重要&#xff0c;合适的天线可以优化通信网络&#xff0c;增加其通信的范围和可靠性。天线的选型对最后的模块通信影响很大&#xff0c;不合适的天线会导致通信质量下降。针对不同的市场应用&#xff0c;天线的材质、安置方式、性能也大不一样。下面简…...

最大团问题--回溯法

一、相关定义 给定一个无向图 &#xff0c;其中 V 是图的顶点集&#xff0c;E图的边集 完全图&#xff1a;如果无向图中的任何一对顶点之间都有边&#xff0c;这种无向图称为完全图 完全子图&#xff1a;给定无向图 &#xff0c;如果 &#xff0c;且对应任意 且 &#xff0c;则…...

MBSE之简单介绍

MBSE之简单介绍 文章目录 MBSE之简单介绍1. What is MBSE&#xff1f;2. MBSE 最佳实践 1. What is MBSE&#xff1f; Model-Based Systems Engineering (MBSE), a.k.a. Model-Based Systems Development (MBSD), is a Systems Engineering process paradigm that emphasizes t…...

基于ODPS解析字段值为JSON的情况

最近在使用ODPS数据库&#xff0c;其中一个字段他是用JSON存储的&#xff0c;但是我是需要JSON字符串中的一个属性值就行&#xff0c;刚好ODPS中有一个函数可以用来使用! 使用案例 select GET_JSON_OBJECT({"id":1,"name":"xiaobai"},$.name);…...

CesiumJS【Basic】- #020 加载glb/gltf文件(Primitive方式)

文章目录 加载glb/gltf文件(Primitive方式)1 目标2 代码实现3 资源文件加载glb/gltf文件(Primitive方式) 1 目标 使用Primitive方式加载glb/gltf文件 2 代码实现 import * as Cesium from "cesium";const viewer = new Cesium.Viewer...

2024黑盾杯复现赛题MISC部分

一、一个logo 一张png图片&#xff0c;查看颜色通道即可发现flag 二、 学会Office 最好用联想自带的excel工具查看&#xff0c;我用WPS打开未解出题目 这里会发现有隐藏信息 隐藏信息为宏加密 。去百度了解宏加密后&#xff0c;发现有俩个宏&#xff0c;一个加密一个解密 执…...

Linux0.12内核源码解读(5)-head.s

大家好&#xff0c;我是呼噜噜&#xff0c;好久没有更新old linux了&#xff0c;本文接着上一篇文章图解CPU的实模式与保护模式&#xff0c;继续向着操作系统内核的世界前进&#xff0c;一起来看看heads.s as86 与GNU as 首先我们得了解一个事实&#xff0c;在Linux0.12内核源…...

刷代码随想录有感(119):动态规划——打家劫舍III(树形dp)

题干&#xff1a; 代码&#xff1a; class Solution { public:vector<int>dp(TreeNode* cur){if(cur NULL)return vector<int>{0, 0};vector<int> left dp(cur -> left);vector<int> right dp(cur -> right);//偷int val1 cur -> val l…...

vivado CARRY_REMAP、CASCADE_HEIGHT

CARRY_REMAP opt_design-carry_remap选项可用于将单个carry*单元重新映射到LUT中 提高了布线的设计效果。使用-carry_remap选项时&#xff0c;仅 将单级进位链转换为LUT。CARRY_REMAP属性允许您 指定在优化过程中要转换的长度较大的进位链。 您可以使用控制任意长度的单个进位链…...

Ubuntu磁盘分区和挂载 虚拟机扩容 逻辑卷的创建和扩容保姆及教程

目录 1、VMware虚拟机Ubuntu20.04系统磁盘扩容 2、Linux的磁盘分区和挂载 3、创建逻辑卷和逻辑卷的扩容 1、VMware虚拟机Ubuntu20.04系统磁盘扩容 通过下图可以看出我们的根磁盘一共有20G的大小&#xff0c;现在我们把它扩容为30G 注&#xff1a;如果你的虚拟机有快照是无…...

【附精彩文章合辑】哈佛辍学小哥的创业经历【挑战英伟达!00 后哈佛辍学小哥研发史上最快 AI 芯片,比 H100 快 20 倍!】

前情提要 https://blog.csdn.net/weixin_42661676/article/details/140020491 哈佛辍学小哥的创业经历 一、背景与起步 这位哈佛辍学小哥&#xff0c;名为Chris Zhu&#xff0c;是一位华裔学生&#xff0c;他在2020年进入哈佛大学&#xff0c;攻读数学学士学位和计算机科学硕…...

Oracle CPU使用率过高问题处理

1.下载Process Explorer 2.打开Process Explorer&#xff0c;查看CPU使用情况最高的进程 3.双击该进程&#xff0c;查看详情 \ 4. 获取cpu使用最好的线程tid 5. 查询sql_id select sql_id from v$session where paddr in( select addr from v$process where spid in(1…...

pyqt的QWidgetList如何多选?如何按下Ctrl多选?

通过设置setSelectionMode(QAbstractItemView.MultiSelection)&#xff0c;可以实现QWidgetList的多选。 但是上述结果不太符合我们需求。设置多选模式后&#xff0c;只需鼠标点击就可以选择多个条目。 我希望按下Ctrl键时才进行多选&#xff0c;仅鼠标单击的话&#xff0c;只进…...

【电路笔记】-MOSFET放大器

MOSFET放大器 文章目录 MOSFET放大器1、概述2、电路图3、电气特性3.1 ** I D = F ( V G S ) I_D=F(V_{GS}) ID​=F(VGS​)**特性3.2 I D = F ( V D S ) I_D=F(V_{DS}) ID​=F(VDS​)特性4、MOSFET放大器5、输入和输出电压6、电压增益7、总结1、概述 在前面的文章中,我们已经…...

Ubuntu 20.04安装显卡驱动、CUDA、Pytorch(2024.06最新)

文章目录 一、安装显卡驱动1.1 查看显卡型号1.2 根据显卡型号选择驱动1.3 获取下载链接1.4 查看下载的显卡驱动安装文件1.5 更新软件列表和安装必要软件、依赖1.6 卸载原有驱动1.7 禁用默认驱动1.8 安装lightdm显示管理器1.9 停止显示服务器1.10 在文本界面中&#xff0c;禁用X…...

wpf 附加属性 RegisterAttached 内容属性

// // 摘要: // 选中时展示的元素 public static readonly DependencyProperty CheckedElementProperty DependencyProperty.RegisterAttached("CheckedElement", typeof(object), typeof(StatusSwitchElement), new PropertyMetadata((object)null…...

laravel8框架windows下安装运行

目录 1、安装前如果未安装先安装Composer 2、使用composer安装laravel8 3、使用内置服务器:8000 的命令去访问测试 ​4、使用本地环境运行phpstudy配置到public目录下 Laravel官网 Laravel 中文网 为 Web 工匠创造的 PHP 框架 安装 | 入门指南 |《Laravel 8 中文文档 8.x…...

如何快速判断IP被墙

IP被墙是指IP部分地区或者运营商无法被正常进行访问的一个情况。 被墙的原因有很多种不一一列举&#xff0c;由于被墙的时间短的为按周按月计算&#xff0c;时间长的则为按年计算&#xff0c;所以一般这种情况下只能选择更换IP。 检查办法&#xff1a; 第一&#xff0c;确认IP…...

vitest-前端单元测试

Vitest是一个轻量级、快速且功能强大的测试框架&#xff0c;特别适用于Vite项目&#xff0c;但也可以与其他前端项目&#xff08;如使用webpack构建的项目&#xff09;集成使用。Vitest提供极速的测试体验&#xff0c;并包含一系列用于编写和组织测试用例的API&#xff0c;如de…...

Chapter03-Authentication vulnerabilities

文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...

linux 错误码总结

1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...

srs linux

下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935&#xff0c;SRS管理页面端口是8080&#xff0c;可…...

高等数学(下)题型笔记(八)空间解析几何与向量代数

目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...

微服务商城-商品微服务

数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...

C++.OpenGL (10/64)基础光照(Basic Lighting)

基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...

Java入门学习详细版(一)

大家好&#xff0c;Java 学习是一个系统学习的过程&#xff0c;核心原则就是“理论 实践 坚持”&#xff0c;并且需循序渐进&#xff0c;不可过于着急&#xff0c;本篇文章推出的这份详细入门学习资料将带大家从零基础开始&#xff0c;逐步掌握 Java 的核心概念和编程技能。 …...

PHP 8.5 即将发布:管道操作符、强力调试

前不久&#xff0c;PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5&#xff01;作为 PHP 语言的又一次重要迭代&#xff0c;PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是&#xff0c;借助强大的本地开发环境 ServBay&am…...

Unity UGUI Button事件流程

场景结构 测试代码 public class TestBtn : MonoBehaviour {void Start(){var btn GetComponent<Button>();btn.onClick.AddListener(OnClick);}private void OnClick(){Debug.Log("666");}}当添加事件时 // 实例化一个ButtonClickedEvent的事件 [Formerl…...

API网关Kong的鉴权与限流:高并发场景下的核心实践

&#x1f525;「炎码工坊」技术弹药已装填&#xff01; 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 引言 在微服务架构中&#xff0c;API网关承担着流量调度、安全防护和协议转换的核心职责。作为云原生时代的代表性网关&#xff0c;Kong凭借其插件化架构…...