The age-standardized incidence rate (ASIR), prevalence rate (ASPR), and DALY rate per 100,000 population were estimated to be 13.22 (95% UI, 9.35–18.23), 38.08 (95% UI: 26.37–55.73), and 8.38 (95% UI, 4.87–13.35) for AN and 130.05 (95% UI, 84.02–187.13), 75.21 (95% UI, 48.52–105.97), and 16.16 (95% UI, 9.23–25.40) for BN, respectively, in 2019.
Ref: Li, Z., Wang, L., Guan, H., Han, C., Cui, P., Liu, A., & Li, Y. (2021). Burden of eating disorders in China, 1990-2019: an updated systematic analysis of the global burden of disease study 2019. Frontiers in psychiatry, 12, 632418.
截图机翻
Ref: Li, Z., Wang, L., Guan, H., Han, C., Cui, P., Liu, A., & Li, Y. (2021). Burden of eating disorders in China, 1990-2019: an updated systematic analysis of the global burden of disease study 2019. Frontiers in psychiatry, 12, 632418.
截图机翻
#金起范Key[超话]##金起范Key迷你二辑Good&Great#
230903 SHINee 官推更新
KEY 키 The 2nd Mini Album | Promotion Site : Desk For Good & Great Worker
Site Open: 2023.09.04 12PM (KST)
〖Good & Great - The 2nd Mini Album〗
➫ 2023.09.11 6PM (KST)
迷你2辑Good &Great代GO :https://t.cn/A6O7A4Wb
各平台特͜典͜代GO汇总:https://t.cn/A6OGDLPM
K͜e͜y͜迷͜你͜二͜辑͜回͜归͜抽͜抽͜乐͜ ͜:https://t.cn/A60s4ifD
金起范Birthday Project :https://t.cn/A606LEyQ
长期特典余量贩shou:https://t.cn/A60HAJ5x
缺韩翻 缺时间轴:https://t.cn/A6cjDhzC
230903 SHINee 官推更新
KEY 키 The 2nd Mini Album
Site Open: 2023.09.04 12PM (KST)
〖Good & Great - The 2nd Mini Album〗
➫ 2023.09.11 6PM (KST)
迷你2辑Good &Great代GO :https://t.cn/A6O7A4Wb
各平台特͜典͜代GO汇总:https://t.cn/A6OGDLPM
K͜e͜y͜迷͜你͜二͜辑͜回͜归͜抽͜抽͜乐͜ ͜:https://t.cn/A60s4ifD
金起范Birthday Project :https://t.cn/A606LEyQ
长期特典余量贩shou:https://t.cn/A60HAJ5x
缺韩翻 缺时间轴:https://t.cn/A6cjDhzC
洛谷真题:
P1002 [NOIP2002 普及组] 过河卒
大家好,我是胡老师
简单描述一下题意:
士兵想要过河,他每一次可以往下走一格,也可以往右走一格,但马一步走到的地方是不能走的,问走到
n行,
m列有多少种走法
我们显然应该先根据马的位置将不能走的格子做一下标记
于是,就会写下这段代码:
void work(long long x,long long y){
ma[x][y]=1;
ma[x-1][y-2]=1;
ma[x-2][y-1]=1;
ma[x-2][y+1]=1;
ma[x-1][y+2]=1;
ma[x+1][y-2]=1;
ma[x+2][y-1]=1;
ma[x+2][y+1]=1;
ma[x+1][y+2]=1;
}
之后就可以使用奥数中的一种简单而常用的方法——标数法
可以举个例子:
123.png
从这个表格的第一行第一列,走到第二行第二列的走法数量是由走到第一行第二列的方案数+第二行第一列的方案数
也就是走到x行,y列的方案数=走到x-1行,y列的方案数+走到x行,y-1列的方案数(出界就按0算)
也就是
f[i][j]=f[i−1][j]+f[i][j−1]
因为走到
x行
y列的方案显然是来自于它的左边和它的上面,因为只有这两个格子才可以一步到达这个格子。
于是我们就可以开始递推:
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(i==1&&j==1)continue;
if(ma[i][j]==0)x[i][j]=x[i-1][j]+x[i][j-1];
}
}
下面是我AC的代码
#include
using namespace std;
long long a,b,n,m,x[23][23],ma[23][23];
void work(long long x,long long y){
ma[x][y]=1;
ma[x-1][y-2]=1;
ma[x-2][y-1]=1;
ma[x-2][y+1]=1;
ma[x-1][y+2]=1;
ma[x+1][y-2]=1;
ma[x+2][y-1]=1;
ma[x+2][y+1]=1;
ma[x+1][y+2]=1;
}
int main(){
scanf("%lld %lld %lld %lld",&n,&m,&a,&b);
a++;
b++;
n++;
m++;
work(a,b);
x[1][1]=1;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(i==1&&j==1)continue;
if(ma[i][j]==0)x[i][j]=x[i-1][j]+x[i][j-1];
}
}
printf("%lld",x[n][m]);
return 0;
}
观看这张图,我们还可以发现其他的东西,我们能发现下面一行比上一行大的值,就是它左边格子的值,所以,我们可以将这道题优化成一维,代码实现也是很简单的。
f[i]+=f[i−1]
#include
using namespace std;
long long a,b,n,m,f[23],ma[23][23];
void work(long long x,long long y){
ma[x][y]=1;
ma[x-1][y-2]=1;
ma[x-2][y-1]=1;
ma[x-2][y+1]=1;
ma[x-1][y+2]=1;
ma[x+1][y-2]=1;
ma[x+2][y-1]=1;
ma[x+2][y+1]=1;
ma[x+1][y+2]=1;
}
int main(){
scanf("%lld %lld %lld %lld",&n,&m,&a,&b);
a++;
b++;
n++;
m++;
work(a,b);
x[1][1]=1;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++){
if(i==1&&j==1)continue;
if(ma[i][j]==0)f[j]+=f[j-1];
}
printf("%lld",f[m]);
return 0;
}
如果我的文章对你有帮助请点个赞!!!
谢谢。
P1002 [NOIP2002 普及组] 过河卒
大家好,我是胡老师
简单描述一下题意:
士兵想要过河,他每一次可以往下走一格,也可以往右走一格,但马一步走到的地方是不能走的,问走到
n行,
m列有多少种走法
我们显然应该先根据马的位置将不能走的格子做一下标记
于是,就会写下这段代码:
void work(long long x,long long y){
ma[x][y]=1;
ma[x-1][y-2]=1;
ma[x-2][y-1]=1;
ma[x-2][y+1]=1;
ma[x-1][y+2]=1;
ma[x+1][y-2]=1;
ma[x+2][y-1]=1;
ma[x+2][y+1]=1;
ma[x+1][y+2]=1;
}
之后就可以使用奥数中的一种简单而常用的方法——标数法
可以举个例子:
123.png
从这个表格的第一行第一列,走到第二行第二列的走法数量是由走到第一行第二列的方案数+第二行第一列的方案数
也就是走到x行,y列的方案数=走到x-1行,y列的方案数+走到x行,y-1列的方案数(出界就按0算)
也就是
f[i][j]=f[i−1][j]+f[i][j−1]
因为走到
x行
y列的方案显然是来自于它的左边和它的上面,因为只有这两个格子才可以一步到达这个格子。
于是我们就可以开始递推:
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(i==1&&j==1)continue;
if(ma[i][j]==0)x[i][j]=x[i-1][j]+x[i][j-1];
}
}
下面是我AC的代码
#include
using namespace std;
long long a,b,n,m,x[23][23],ma[23][23];
void work(long long x,long long y){
ma[x][y]=1;
ma[x-1][y-2]=1;
ma[x-2][y-1]=1;
ma[x-2][y+1]=1;
ma[x-1][y+2]=1;
ma[x+1][y-2]=1;
ma[x+2][y-1]=1;
ma[x+2][y+1]=1;
ma[x+1][y+2]=1;
}
int main(){
scanf("%lld %lld %lld %lld",&n,&m,&a,&b);
a++;
b++;
n++;
m++;
work(a,b);
x[1][1]=1;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(i==1&&j==1)continue;
if(ma[i][j]==0)x[i][j]=x[i-1][j]+x[i][j-1];
}
}
printf("%lld",x[n][m]);
return 0;
}
观看这张图,我们还可以发现其他的东西,我们能发现下面一行比上一行大的值,就是它左边格子的值,所以,我们可以将这道题优化成一维,代码实现也是很简单的。
f[i]+=f[i−1]
#include
using namespace std;
long long a,b,n,m,f[23],ma[23][23];
void work(long long x,long long y){
ma[x][y]=1;
ma[x-1][y-2]=1;
ma[x-2][y-1]=1;
ma[x-2][y+1]=1;
ma[x-1][y+2]=1;
ma[x+1][y-2]=1;
ma[x+2][y-1]=1;
ma[x+2][y+1]=1;
ma[x+1][y+2]=1;
}
int main(){
scanf("%lld %lld %lld %lld",&n,&m,&a,&b);
a++;
b++;
n++;
m++;
work(a,b);
x[1][1]=1;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++){
if(i==1&&j==1)continue;
if(ma[i][j]==0)f[j]+=f[j-1];
}
printf("%lld",f[m]);
return 0;
}
如果我的文章对你有帮助请点个赞!!!
谢谢。
✋热门推荐