B. Magical Calendar(规律)

    技术2022-07-12  84

     

    有个人想要规划日程,给出 n 代表她所规划的一周有几天,r 代表一周内她要至多学习(1~r)天,所有的天数必须构成连通块,问有几种规划方式

    其实思路想一下,当 r==2 时,可以从第一周的  第一/二  天开始。

    r == 3时,可以从第一周的  第 1/2/3 天开始 ,这样就是让我们求前 r 项和

    但是要注意的是当 r >=n 时,出现的以下两种情况

     

    ll go(ll r) { if(r&1) return (r+1)/2*r; else return r/2*(r+1); } int main() { IOS; rush(){ ll n,r; cin>>n>>r; ll ans; if(r>=n){ r=n-1; ans=go(r)+1; //当等于 n 时,第一周全涂为一种情况 } else ans=go(r); cout<<ans<<endl; } PAUSE; return 0; }

     

    Processed: 0.027, SQL: 9