平面分割 题解(1.16 递推模拟)
生活随笔
收集整理的這篇文章主要介紹了
平面分割 题解(1.16 递推模拟)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
平面分割
代碼一行,解析一箱~~
解析
計f[i]:從1到i累加之和
先假設最好情況,p=2;
此時第一條會增加1個
第二條與第一條相交,再加2個
第三條與前2條相交,再加3個
…
故n條時共增加f[n]個,共f[n]+1個
而p>=3時
第三條本應與前兩條分別相交,而只交了一個,少交了一個
第4條本應與前3條分別相交,而只交了一個,少交了2個
…
故p條相交,共少交f[p-2]個
則最終答案為f[n]+1-f[p-2]
代碼
#include<cstdio> #include<cstring> #include<algorithm> #include<cmath> #include<climits> using namespace std; const int M=INT_MAX; long long f[550]={ }; void solve(int n){for(int i=1;i<=n;i++){f[i] = f[i-1] + i;}return; } int main(){int n,p;scanf("%d%d",&n,&p);solve(n);printf("%lld",f[n]-f[p-2]+1);return 0; }總結
以上是生活随笔為你收集整理的平面分割 题解(1.16 递推模拟)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: lol主播电脑的配置多少钱(lol主播电
- 下一篇: 题解: 区间合并(opj 2-4-762