2021辽宁省大学生程序设计竞赛(热身赛)【完结】
生活随笔
收集整理的這篇文章主要介紹了
2021辽宁省大学生程序设计竞赛(热身赛)【完结】
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
為馬上要來的ccpc省賽做準備,打一下其他省的熱身賽玩玩
目錄
- A: a+b+c【簽到】
- B: 遼寧的記憶【簽到】
- C: 愛書人的資料查詢【KMP】
- D: 巧克力蛋糕【簽到】
- E:香辣牛肉面【數論】
A: a+b+c【簽到】
https://ac.nowcoder.com/acm/contest/22351/A
B: 遼寧的記憶【簽到】
https://ac.nowcoder.com/acm/contest/22351/B
C: 愛書人的資料查詢【KMP】
https://ac.nowcoder.com/acm/contest/22351#question
本想直接暴力,加O2等優化看可不可以莽過去。后來不行,那直接KMP板子走一波。
D: 巧克力蛋糕【簽到】
https://ac.nowcoder.com/acm/contest/22351/D
任意倆條邊交一個點。故Cn2C_n^2Cn2?種可能
E:香辣牛肉面【數論】
https://ac.nowcoder.com/acm/contest/22351/E
詳細的題解
通過分析你會發現它本質求的一個[1,n]所有數的約數個數之和的問題
O(n)的做法 過不去得加速
加速法:(O(開根號n))可以過
#include<bits/stdc++.h> using namespace std; typedef long long int LL; int main() {int t; cin>>t;while(t--){LL n,ans=0;scanf("%lld",&n);for(LL i=1,j;i<=n;i=j+1)//節約時間{ j=n/(n/i);ans+=(n/i)*(j-i+1);}printf("%lld\n",ans);}return 0; }總結
以上是生活随笔為你收集整理的2021辽宁省大学生程序设计竞赛(热身赛)【完结】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: P5367 【模板】康托展开
- 下一篇: 1070 Mooncake (25 分)