信息学奥赛一本通 1609:【例 4】Cats Transport | 洛谷 CF311B Cats Transport

【题目链接】

ybt 1609:【例 4】Cats Transport
洛谷 CF311B Cats Transport

【题目考点】

1. 动态规划:斜率优化动规

【解题思路】

解法1:设a点的前缀和

输入的 d d d序列是从 d 2 d_2 d2 d n d_n dn,共n-1个数字。人为设 d 1 = 0 d_1=0 d1=0
d d d序列的前缀和数组 s s s,自然 s 1 = 0 s_1=0 s1=0
思考:一只猫在玩完后,刚好有个饲养员走到这只猫所在的山,将它接走,那么这名饲养员应该从哪一时刻出发?
a i a_i ai表示第 i i i只猫在时刻 t i t_i ti被一名饲养员接走,接走它的饲养员的出发时刻。
从第1座山走到第 h i h_i hi座山的距离为 ∑ x = 2 h i d x = s h i − s 1 = s h i \sum_{x=2}^{h_i}d_x = s_{h_i}-s_1=s_{h_i} x=2hidx=shis1=shi。由于饲养员的速度为1米每单位时间,那么从第1座山走到第 h i h_i hi座山花费的时间为 s h i s_{h_i} shi,饲养员在 t i t_i ti时刻到达第 h i h_i hi座山,那么饲养员的出发时间 a i = t i − s h i a_i = t_i-s_{h_i} ai=tishi
将所有猫的 a i a_i ai从小到大排序。
如果饲养员在 a i + x a_i+x ai+x时刻出发,会在 t i + x t_i+x ti+x时刻接到第 i i i只猫,此时第 i i i只猫等待了 x x x个单位的时间。
现在设想一个表示时间的数轴,将每只猫的 a i a_i ai标在数轴上,将这样的点叫做 a a a类点。各饲养员的出发时刻标记在数轴上,记为 b 1 , . . . , b p b_1,...,b_p b1,...,bp,这样的点叫做 b b b类点。
b l b_l bl b r b_r br是相邻的两个 b b b类点,那么所有满足 b l < a i ≤ b r b_l< a_i \le b_r bl<aibr a a a类点对应的猫都会被在 b r b_r br时刻出发的饲养员接走,第 i i i只猫的等待时长为 b r − a i b_r-a_i brai。将猫的等待时间称为代价,因此也可以说 a i a_i ai点贡献的代价为 b r − a i b_r-a_i brai
在这里插入图片描述
要想使代价和最小, b b b点一定选择要在某 a a a点上,而不会选择在两个 a a a点之间。

如果 b l < a x ≤ . . . ≤ a y < b r < a y + 1 b_l<a_x\le...\le a_y<b_r<a_{y+1} bl<ax...ay<br<ay+1,则 b l b_l bl b r b_r br之间 a a a点的代价和为: ∑ b l < a i ≤ b r ( b r − a i ) \underset{b_l< a_i \le b_r}\sum(b_r-a_i) bl<aibr(brai)
b r b_r br点调整到 a y a_y ay b r b_r br减小,代价和 ∑ b l < a i ≤ b r ( b r − a i ) \underset{b_l< a_i \le b_r}\sum(b_r-a_i) bl<aibr(brai)会减小。

a a a点序列为 a 0 , a 1 , . . . , a m a_0,a_1, ..., a_m a0,a1,...,am,人为添加一个点 a 0 = 0 a_0=0 a0=0
b b b点选择的位置为 a b 1 , a b 2 , . . . , a b p a_{b_1}, a_{b_2},...,a_{b_p} ab1,ab2,...,abp,设 b 0 = 0 b_0=0 b0=0
最后一个选择的点 a b p a_{b_p} abp必然是 a m a_m am,即 b p = m b_p=m bp=m

如果 b p < m b_p<m bp<m,则 a m a_m am对应的猫不会被饲养员接走。如果 b p > m bp>m bp>m,不如 b p = m bp=m bp=m代价更小。

可以设 a a a序列的前缀和 s u m A sumA sumA s u m A i = ∑ x = 1 i a x sumA_i = \sum_{x=1}^ia_x sumAi=x=1iax
已知 a l < a i ≤ a r a_l < a_i \le a_r al<aiar范围内有 r − l r-l rl a a a点,该范围内 a a a点的加和 ∑ a l < a i ≤ a r a i = s u m A r − s u m A l \underset{a_l<a_i\le a_r}\sum a_i = sumA_r-sumA_l al<aiarai=sumArsumAl
满足 a l < a i ≤ a r a_l<a_i\le a_r al<aiar a a a点的代价加和为 ∑ a l < a i ≤ a r ( a r − a i ) = ( r − l ) a r − ( s u m A r − s u m A l ) \underset{a_l< a_i \le a_r}\sum(a_r-a_i)=(r-l)a_r-(sumA_r-sumA_l) al<aiar(arai)=(rl)ar(sumArsumAl)

状态定义

  • 阶段:前 j j j a a a点中选择 i i i个点
    j j j a a a点对应的猫都应该被接走,因此必须选择最后一个 a a a a j a_j aj作为 b b b
  • 决策:选择哪个 a a a点作为下一个 b b b点。
  • 策略:选择点的方案
  • 策略集合:在前 j j j a a a点中选择 i i i个点的所有方案
  • 条件:代价最小
  • 统计量:代价

状态定义 d p i , j dp_{i,j} dpi,j:在前 j j j a a a点中选择 i i i个点,且一定选择 a j a_j aj点的所有方案中,代价最小的方案的代价。
初始状态:
i ≥ j i\ge j ij时,可以选择每个 a a a点都作为 b b b点,代价 d p i , j dp_{i,j} dpi,j为0。所以 d p i , 0 = 0 , 0 ≤ i ≤ p dp_{i,0}=0, 0\le i \le p dpi,0=00ip
i < j i<j i<j i = 0 i=0 i=0时,有猫但没有饲养员,是不符合条件的,因此设 d p 0 , j = inf ⁡ , 0 < j ≤ m dp_{0,j}=\inf,0<j\le m dp0,j=inf,0<jm

状态转移方程

  • 策略集合:在前 j j j a a a点中选择 i i i个点,且选择 a j a_j aj点的所有方案
  • 分割策略集合:由于第 i i i个选点一定选择 a j a_j aj点,那么根据第 i − 1 i-1 i1个选择的点分割策略集合。

设选择的第 i − 1 i-1 i1个点为 a h a_h ah,选择 a a a点的最小值为 a 0 a_0 a0,也就是没有上一个选点,前 i − 1 i-1 i1个饲养员不接猫。选择的 a a a点最大为 a j − 1 a_{j-1} aj1,所以 0 ≤ h < j 0\le h < j 0h<j
要想在 a 0 ∼ a j a_0\sim a_j a0aj中选择 i i i个点且包括 a j a_j aj,使代价最小。那么首先在 a 0 ∼ a h a_0\sim a_h a0ah中选择 i − 1 i-1 i1个点且包括 a h a_h ah,可以获得的最小代价为 d p i − 1 , h dp_{i-1,h} dpi1,h
a h a_h ah的下一个选择的点为 a j a_j aj a h < a x ≤ a j a_h<a_x\le a_j ah<axaj中的 a x a_x ax产生代价 ∑ x = h + 1 j ( a j − a x ) = ( j − h ) a j − ( s u m A j − s u m A h ) = ( j − h ) a j + s u m A h − s u m A j \sum_{x=h+1}^j(a_j-a_x)=(j-h)a_j-(sumA_j-sumA_h)=(j-h)a_j+sumA_h-sumA_j x=h+1j(ajax)=(jh)aj(sumAjsumAh)=(jh)aj+sumAhsumAj
对于不同的 h h h的取值,求代价的最小值。

因此状态转移方程为: d p i , j = m i n { d p i − 1 , h + ( j − h ) a j + s u m A h − s u m A j } , 0 ≤ h < j dp_{i,j}=min\{dp_{i-1,h}+(j-h)a_j+sumA_h-sumA_j\},0\le h < j dpi,j=min{dpi1,h+(jh)aj+sumAhsumAj},0h<j

进行斜率优化:
方程中去掉 m i n min min,将与 h h h相关的当做变量,与整理方程
− d p i − 1 , h − s u m A h = j ⋅ a j − h ⋅ a j − d p i , j − s u m A j -dp_{i-1,h}-sumA_h=j\cdot a_j-h\cdot a_j-dp_{i,j}-sumA_j dpi1,hsumAh=jajhajdpi,jsumAj
d p i − 1 , h + s u m A h = a j ⋅ h + d p i , j − j ⋅ a j + s u m A j dp_{i-1,h}+sumA_h=a_j\cdot h+dp_{i,j}-j\cdot a_j+sumA_j dpi1,h+sumAh=ajh+dpi,jjaj+sumAj
y = d p i − 1 , h + s u m A h y=dp_{i-1,h}+sumA_h y=dpi1,h+sumAh x = h x=h x=h k = a j k=a_j k=aj b = d p i , j − j ⋅ a j + s u m A j b=dp_{i,j}-j\cdot a_j+sumA_j b=dpi,jjaj+sumAj
则该方程就是直线方程 y = k x + b y=kx+b y=kx+b,决策点为 ( h , d p i − 1 , h + s u m A h ) (h, dp_{i-1,h}+sumA_h) (h,dpi1,h+sumAh),看直线过哪个决策点时截距 b b b最小,就可以求出 d p i , j dp_{i,j} dpi,j
斜率 a j a_j aj随着 j j j的增大而增大,因此可以进行队头出队,取队头即为最优决策点。
斜率优化的具体原理、和代码细节不再赘述,参考模板题:
信息学奥赛一本通 1607:【 例 2】任务安排 2 | 洛谷 P10979 任务安排 2

求出的 p p p个饲养员接 m m m只猫的最小代价 d p p , m dp_{p,m} dpp,m即为最终结果

解法2:最后减 a a a点加和

a a a点序列为 a 0 , a 1 , . . . , a m a_0,a_1, ..., a_m a0,a1,...,am,人为添加一个点 a 0 = 0 a_0=0 a0=0
b b b点选择的位置为 a b 1 , a b 2 , . . . , a b p a_{b_1}, a_{b_2},...,a_{b_p} ab1,ab2,...,abp,设 b 0 = 0 b_0=0 b0=0
最后一个选择的点 a b p a_{b_p} abp必然是 a m a_m am,即 b p = m b_p=m bp=m
已知 a l < a i ≤ a r a_l < a_i \le a_r al<aiar范围内有 r − l r-l rl a a a点。

  • 满足 a b 0 < a i ≤ a b 1 a_{b_0}<a_i\le a_{b_1} ab0<aiab1 a a a点的代价加和为 ∑ a b 0 < a i ≤ a b 1 ( a b 1 − a i ) = b 1 a b 1 − ∑ 0 < a i ≤ a b 1 a i \underset{a_{b_0}< a_i \le a_{b_1}}\sum(a_{b_1}-a_i)=b_1a_{b_1}-\underset{0< a_i \le a_{b_1}}\sum a_i ab0<aiab1(ab1ai)=b1ab10<aiab1ai
  • 满足 a b 1 < a i ≤ a b 2 a_{b_1}<a_i\le a_{b_2} ab1<aiab2 a a a点的代价加和为 ∑ a b 1 < a i ≤ a b 2 ( a b 2 − a i ) = ( b 2 − b 1 ) a b 2 − ∑ a b 1 < a i ≤ a b 2 a i \underset{a_{b_1}< a_i \le a_{b_2}}\sum(a_{b_2}-a_i)=(b_2-b_1)a_{b_2}-\underset{a_{b_1}< a_i \le a_{b_2}}\sum a_i ab1<aiab2(ab2ai)=(b2b1)ab2ab1<aiab2ai
  • 满足 a b p − 1 < a i ≤ a b p a_{b_{p-1}}<a_i\le a_{b_p} abp1<aiabp a a a点的代价加和为 ∑ a b p − 1 < a i ≤ a b p ( a b p − a i ) = ( b p − b p − 1 ) a b p − ∑ a b p − 1 < a i ≤ a b p a i \underset{a_{b_{p-1}}< a_i \le a_{b_p}}\sum(a_{b_p}-a_i)=(b_p-b_{p-1})a_{b_p}-\underset{a_{b_{p-1}}< a_i \le a_{b_p}}\sum a_i abp1<aiabp(abpai)=(bpbp1)abpabp1<aiabpai
    总代价和为:
    ∑ i = 1 p ( b i − b i − 1 ) a b i − ∑ i = 1 b p a i \sum_{i=1}^p(b_i-b_{i-1})a_{b_i}-\sum_{i=1}^{b_p}a_i i=1p(bibi1)abii=1bpai
    后面 ∑ i = 1 b p a i = ∑ i = 1 m a i \sum_{i=1}^{b_p}a_i=\sum_{i=1}^ma_i i=1bpai=i=1mai是定值,记为 s u m A sumA sumA,在动规过程中不用考虑。
    只需要考虑不同选择点的方案中,哪种方案的代价 ∑ i = 1 p ( b i − b i − 1 ) a b i \sum_{i=1}^p(b_i-b_{i-1})a_{b_i} i=1p(bibi1)abi是最小的。对于相邻选择的点 a b i − 1 a_{b_{i-1}} abi1 a b i a_{b_i} abi,贡献的代价为 ( b i − b i − 1 ) a b i (b_i-b_{i-1})a_{b_i} (bibi1)abi

状态定义

状态定义 d p i , j dp_{i,j} dpi,j:在前 j j j a a a点中选择 i i i个点,且一定选择 a j a_j aj点的所有方案中,代价最小的方案的代价。
初始状态:
i ≥ j i\ge j ij时,可以选择每个 a a a点都作为 b b b点,代价 d p i , j dp_{i,j} dpi,j为0。所以 d p i , 0 = 0 , 0 ≤ i ≤ p dp_{i,0}=0, 0\le i \le p dpi,0=00ip
i < j i<j i<j i = 0 i=0 i=0时,有猫但没有饲养员,是不符合条件的,因此设 d p 0 , j = inf ⁡ , 0 < j ≤ m dp_{0,j}=\inf,0<j\le m dp0,j=inf,0<jm

状态转移方程

  • 策略集合:在前 j j j a a a点中选择 i i i个点,且选择 a j a_j aj点的所有方案
  • 分割策略集合:由于第 i i i个选点一定选择 a j a_j aj点,那么根据第 i − 1 i-1 i1个选择的点分割策略集合。

设选择的第 i − 1 i-1 i1个点为 a h a_h ah,选择 a a a点的最小值为 a 0 a_0 a0,也就是没有上一个选点,前 i − 1 i-1 i1个饲养员不接猫。选择的 a a a点最大为 a j − 1 a_{j-1} aj1,所以 0 ≤ h < j 0\le h < j 0h<j
要想在 a 0 ∼ a j a_0\sim a_j a0aj中选择 i i i个点且包括 a j a_j aj,使代价最小。那么首先在 a 0 ∼ a h a_0\sim a_h a0ah中选择 i − 1 i-1 i1个点且包括 a h a_h ah,可以获得的最小代价为 d p i − 1 , h dp_{i-1,h} dpi1,h
a h a_h ah的下一个选择的点为 a j a_j aj a h < a x ≤ a j a_h<a_x\le a_j ah<axaj中的 a x a_x ax产生代价 ( j − h ) a j (j-h)a_j (jh)aj
对于不同的 h h h的取值,求代价的最小值。

因此状态转移方程为: d p i , j = m i n { d p i − 1 , h + ( j − h ) a j } , 0 ≤ h < j dp_{i,j}=min\{dp_{i-1,h}+(j-h)a_j\},0\le h < j dpi,j=min{dpi1,h+(jh)aj},0h<j

进行斜率优化:
方程中去掉 m i n min min,将与 h h h相关的当做变量,与整理方程
− d p i − 1 , h = j ⋅ a j − h ⋅ a j − d p i , j -dp_{i-1,h}=j\cdot a_j-h\cdot a_j-dp_{i,j} dpi1,h=jajhajdpi,j
d p i − 1 , h = a j ⋅ h + d p i , j − j ⋅ a j dp_{i-1,h}=a_j\cdot h+dp_{i,j}-j\cdot a_j dpi1,h=ajh+dpi,jjaj
y = d p i − 1 , h y=dp_{i-1,h} y=dpi1,h x = h x=h x=h k = a j k=a_j k=aj b = d p i , j − j ⋅ a j b=dp_{i,j}-j\cdot a_j b=dpi,jjaj
则该方程就是直线方程 y = k x + b y=kx+b y=kx+b,决策点为 ( h , d p i − 1 , h ) (h, dp_{i-1,h}) (h,dpi1,h),看直线过哪个决策点时截距 b b b最小,就可以求出 d p i , j dp_{i,j} dpi,j
斜率 a j a_j aj随着 j j j的增大而增大,因此可以进行队头出队,取队头即为最优决策点。
求出的 p p p个饲养员接 m m m只猫的最小代价 d p p , m dp_{p,m} dpp,m,再减去所有 a a a点的加和 s u m A sumA sumA,即为最终结果。

【题解代码】

解法1:斜率优化动规 一般解法 设a点的前缀和
#include <bits/stdc++.h>
using namespace std;
#define N 100005
#define INF 0x3f3f3f3f3f3f3f3f
typedef long long LL;
LL n, m, p, d[N], s[N], a[N], dp[105][N], sumA[N];
int q[N], l = 1, r = 0;
LL X(int h)
{return h; 
}
LL Y(int i, int h)
{return dp[i-1][h]+sumA[h];
}
LL K(int j)
{return a[j];
}
bool cmp(LL a1, LL b1, LL a2, LL b2)//a1/b1 <= a2/b2
{return a1*b2 <= a2*b1;
}
int main()
{int t, h;cin >> n >> m >> p;for(int i = 2; i <= n; ++i){cin >> d[i];s[i] = s[i-1]+d[i];//s:d数组的前缀和 }for(int i = 1; i <= m; ++i){cin >> h >> t;a[i] = t-s[h];	}sort(a+1, a+1+m);for(int i = 1; i <= m; ++i)sumA[i] = sumA[i-1]+a[i];//sumA:a数组的前缀和 memset(dp, 0x3f, sizeof(dp));for(int i = 0; i <= p; ++i)dp[i][0] = 0;for(int i = 1; i <= p; ++i)//先求出i-1行再求第i行 {l = 1, r = 0;//清空单调队列 for(int j = 1; j <= m; ++j)//0<=h<j{while(l < r && cmp(Y(i, j-1)-Y(i, q[r]), X(j-1)-X(q[r]), Y(i, q[r])-Y(i, q[r-1]), X(q[r])-X(q[r-1])))r--;q[++r] = j-1;while(l < r && cmp(Y(i, q[l+1])-Y(i, q[l]), X(q[l+1])-X(q[l]), K(j), 1))l++;int h = q[l];dp[i][j] = dp[i-1][h]+(j-h)*a[j]+sumA[h]-sumA[j];}}cout << dp[p][m];return 0;
}
解法2:最后减 a a a点加和
#include <bits/stdc++.h>
using namespace std;
#define N 100005
typedef long long LL;
LL n, m, p, d[N], s[N], a[N], dp[105][N], sumA;
int q[N*100], l = 1, r = 0;
LL X(int h)
{return h; 
}
LL Y(int i, int h)
{return dp[i-1][h];
}
LL K(int j)
{return a[j];
}
bool cmp(LL a1, LL b1, LL a2, LL b2)//a1/b1 <= a2/b2
{return a1*b2 <= a2*b1;
}
int main()
{int t, h;cin >> n >> m >> p;for(int i = 2; i <= n; ++i){cin >> d[i];s[i] = s[i-1]+d[i];//s:d数组的前缀和 }for(int i = 1; i <= m; ++i){cin >> h >> t;a[i] = t-s[h];sumA += a[i];}sort(a+1, a+1+m);memset(dp, 0x3f, sizeof(dp));for(int i = 0; i <= p; ++i)dp[i][0] = 0;for(int i = 1; i <= p; ++i)//先求出i-1行再求第i行 {l = 1, r = 0;//清空单调队列 for(int j = 1; j <= m; ++j)//0<=h<j{while(l < r && cmp(Y(i, j-1)-Y(i, q[r]), X(j-1)-X(q[r]), Y(i, q[r])-Y(i, q[r-1]), X(q[r])-X(q[r-1])))r--;q[++r] = j-1;while(l < r && cmp(Y(i, q[l+1])-Y(i, q[l]), X(q[l+1])-X(q[l]), K(j), 1))l++;dp[i][j] = dp[i-1][q[l]]+(j-q[l])*a[j];}}cout << dp[p][m]-sumA;return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/43334.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从24GHz到71GHz:Sivers半导体的广泛频率范围5G毫米波产品解析

在5G技术的浪潮中&#xff0c;Sivers半导体推出了创新的毫米波无线产品&#xff0c;为通信行业带来高效、可靠的解决方案。这些产品支持从24GHz到71GHz的频率&#xff0c;覆盖许可与非许可频段&#xff0c;适应高速、低延迟的通信场景。 5G通信频段的一点事儿及Sivers毫米波射频…

LocalDateTime序列化总结

版权说明&#xff1a; 本文由CSDN博主keep丶原创&#xff0c;转载请保留此块内容在文首。 原文地址&#xff1a; https://blog.csdn.net/qq_38688267/article/details/146703276 文章目录 1.背景2.序列化介绍常见场景关键问题 3.总体方案4.各场景实现方式WEB接口EasyExcelMybat…

分享一个Pyside6实现web数据展示界面的效果图

今天又是有问题直接找DS的一天&#xff0c;每日一问&#xff0c;今天我的问题是“怎么将pyside6生成的界面转成web界面&#xff0c;使用python语言实现web界面”&#xff0c;等了一会&#xff0c;DS给我提供了两种方案&#xff0c;方案如下&#xff1a; 然后&#xff0c;让我们…

GAMMA数据处理(十)

今天向别人请教了一个问题&#xff0c;刚无意中搜索到了一模一样的问题 不知道这个怎么解决... ok 解决了 有一个GAMMA的命令可转换 但是很奇怪 完全对不上 转换出来的行列号 不知道为啥 再试试 是因为经纬度坐标的小数点位数 de as

[从零开始学习JAVA ] 深入多线程

前言&#xff1a; 当今软件开发领域中&#xff0c;多线程编程已成为一项至关重要的技能。然而&#xff0c;要编写出高效、可靠的多线程程序并不容易。多线程编程面临着许多挑战&#xff0c;如线程安全性、资源共享、死锁等问题。因此&#xff0c;对于初学者来说&#xff0c;深入…

【Python NetworkX】图结构 图绘制

【Python NetworkX】图结构 & 图绘制 1. 简介 & 安装1.1 简介1.2 安装1.3 导入 2. 图2.1 无向图2.2 有向图2.3 重边无向图2.4 重边有向图2.5 图属性 3. 节点3.1 添加节点3.2 移除节点3.3 节点属性3.4 检查节点状态 4. 边4.1 添加边4.2 移除边4.3 边属性4.4 检查边状态 …

Kubernetes》k8s》Containerd 、ctr 、cri、crictl

containerd ctr crictl ctr 是 containerd 的一个客户端工具。 crictl 是 CRI 兼容的容器运行时命令行接口&#xff0c;可以使用它来检查和调试 k8s 节点上的容器运行时和应用程序。 ctr -v 输出的是 containerd 的版本&#xff0c; crictl -v 输出的是当前 k8s 的版本&#x…

【湖北工业大学2025年ACM校赛(同步赛)】题解

比赛链接 A. 蚂蚁上树 题目大意 给定一棵 n n n 个结点的树&#xff0c;根结点为 1 1 1。每个 叶结点 都有一只蚂蚁&#xff0c;每过 1 1 1 秒钟&#xff0c;你可以选一些蚂蚁往其 父结点 走一步&#xff0c;但是要求任意两只蚂蚁都不能在同一个 非根结点 上。 问至少要…

CS2 DEMO导入blender(慢慢更新咯)

流程&#xff1a;cs2-sourcefilmmaker-blender 工具&#xff1a;cs2tools&#xff0c;cs2manager&#xff0c;blender&#xff0c;blender插件sourceio&#xff0c;source2viewer 导入sfm 工具界面 选择这个 sourceio插件 sourceIO其中新版本导入相机路径不见了&#xff0c…

一周学会Flask3 Python Web开发-SQLAlchemy数据迁移migrate

锋哥原创的Flask3 Python Web开发 Flask3视频教程&#xff1a; 2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili 模型类(表)不是一成不变的&#xff0c;当你添加了新的模型类&#xff0c;或是在模型类中添加了新的字段&#xff0c;甚至是修改…

Postman CORS 测试完全指南:轻松模拟跨域请求,排查 CORS 相关问题

在使用 Postman 进行 API 测试时&#xff0c;通常不会遇到跨域问题&#xff0c;因为 Postman 是一个独立的客户端应用程序&#xff0c;不同于在浏览器中运行的 JavaScript 代码&#xff0c;它没有同源策略&#xff08;SOP&#xff09;的限制。跨域资源共享&#xff08;CORS&…

【图像处理基石】什么是refocus?

1. Refocus 的定义 Refocus&#xff08;重新对焦&#xff09;是一种通过算法调整图像或视频焦点的技术&#xff0c;允许用户在拍摄后选择焦点&#xff0c;实现类似光场相机的“先拍照后对焦”效果。其核心是通过多视角信息或深度估计&#xff0c;生成不同焦平面的图像&#xff…

kettle从入门到精通 第九十三课 ETL之kettle kettle 调用web service接口5种方法,一文彻底搞懂

场景&#xff1a;群里有小伙伴向我求助如何调用web service接口&#xff0c;趁着周末时间&#xff0c;给兄弟们搞demo。 1、本次使用的web service服务接口地址是http://ws.webxml.com.cn/WebServices/WeatherWS.asmx?opgetSupportCityDataset&#xff0c; 此接口根据用户输入…

电子电气架构 --- 域控架构下,汽车连接器的挑战和变化

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 周末洗了一个澡,换了一身衣服,出了门却不知道去哪儿,不知道去找谁,漫无目的走着,大概这就是成年人最深的孤独吧! 旧人不知我近况,新人不知我过…

[MySQL] 库的操作 表的操作

1.库的操作 1.创建数据库 这里就是一个创建数据库的例子&#xff0c;框内的东西可以不填&#xff0c;因为有默认设置&#xff0c;而这些东西是什么呢&#xff1f; 2.字符集和校验规则 2.1查看字符集校验规则 show variables like ‘character_set_database’; show variable…

Let’s Encrypt 宣布推出短期证书与 IP 地址支持,推动 Web 安全迈向新高度

2025 年 1 月 16 日&#xff0c;全球领先的免费 SSL/TLS 证书颁发机构 Let’s Encrypt 正式宣布两项重大功能更新计划&#xff1a;推出六天有效期证书&#xff08;Short-Lived Certificates&#xff09;及支持以 IP 地址为主体的证书申请。两项功能将于 2025 年起陆续开放&…

十二、Cluster集群

目录 一、集群简介1、现状问题2、集群作用 二、集群结构设计1、集群存储设2、消息通信设计 三、Cluster集群三主三从结构搭建1、redis.conf配置文件可配置项2、配置集群3、链接集群4、命令客户端连接集群并使用 四、集群扩容1、添加节点2、槽位分配3、添加从节点 五、集群缩容1…

Linux进程管理之子进程的创建(fork函数)、子进程与线程的区别、fork函数的简单使用例子、子进程的典型应用场景、父进程等待子进程结束后自己再结束

收尾 进程终止&#xff1a;子进程通过exit()或_exit()终止&#xff0c;父进程通过wait()或waitpid()等待子进程终止&#xff0c;并获取其退出状态。&#xff1f;其实可以考虑在另一篇博文中来写 fork函数讲解 fork函数概述 fork() 是 Linux 中用于创建新进程的系统调用。当…

【AI论文】挑战推理的边界:大型语言模型的数学基准测试

摘要&#xff1a;近年来&#xff0c;大型推理模型的迅猛发展导致现有用于评估数学推理能力的基准测试趋于饱和&#xff0c;这凸显出迫切需要更具挑战性和严谨性的评估框架。为填补这一空白&#xff0c;我们推出了OlymMATH&#xff0c;这是一项全新的奥林匹克级数学基准测试&…

典范硬币系统(Canonical Coin System)→ 贪心算法

【典范硬币系统】 ● 典范硬币系统&#xff08;Canonical Coin System&#xff09;是指使用贪心算法总能得到最少硬币数量解‌的货币面值组合‌。 ● 给定一个硬币系统 &#xff0c;若使其为典范硬币系统&#xff0c;则要求其各相邻面值比例 &#xff0c;及各开区间 内各金额…