Codeforces 616E Sum Of Reminders

来源:互联网 发布:手机淘宝货到付款骗局 编辑:程序博客网 时间:2024/06/04 01:11

616传送门:http://codeforces.com/contest/616/problem/E

刚开始那个判断条件写错了,即判断什么时候应该减掉,减的方法对了,但刚开始写的那个条件是永远都成立的,if(ans[i-1].fi<m)这样就导致了第一个样例总是多减掉,而实际应该是当m<n的时候减掉,这就说明自己想的时候是只按照那一种情况想的,应该跳出思维的局限性写的时候卡了2处:第一处为存因子的时候,由于对具体的过程没有想清楚,所以在*号里面的存储方式是错误的比方说:251 252 123 84 65 56 48 312 2只有在根号N后面的才可以整体处理,而前面的则不行,因为越过根号N之后才能使后面的值保持不变,只有前面的基数足够大,才能使后面的商的结果不变,而只用因子那绝对是错的,下次应该在纸上模拟清楚之后再敲! ! !第二处错误为每一步都要取一次模,实际操作的过程中在局部乘法的时候忘记取模了,导致最后出现了负值(一次加法不足以加到正数),还有坑点就是在整除2的位置处要判断哪一个是正好整除,一定要细致! ! !**#include<bits/stdc++.h>using  namespace std;#define ll long long#define pb push_back#define mp make_pair#define fi first#define se secondconst int maxn=1e3+10;ll n,m;const ll mod=1e9+7;vector<pair<ll,ll>>ans;void debug(){    for(pair<ll,ll> x:ans){        printf("%lld %lld\n",x.first,x.second);    }}ll work(ll i,ll j){   if((i+j)%2==0)    return (((i+j)/2%mod)*((j-i+1)%mod))%mod;   return (((i+j)%mod)*((j-i+1)/2%mod))%mod;}int main(){    cin>>n>>m;    ll sum=((n%mod)*(m%mod))%mod;    for(ll i=1;i*i<=n;i++){        ll tmp=n/i;        ans.pb(mp(i,tmp));        if(tmp!=i) ans.pb(mp(tmp,i));        /*if(n%i==0){            ans.pb(mp(i,n/i));        }        if(n!=i*i) ans.pb(mp(n/i,i));*/    }    ans.pb(mp(0,0));    sort(ans.begin(),ans.end());   //debug();    int i;    for(i=1;i<ans.size()&&ans[i].fi<=m;i++){        sum=(sum-((work(ans[i-1].fi+1,ans[i].fi)*(ans[i].se%mod)))%mod+mod)%mod;    }    if(m<n){        i--;        sum=(sum-((work(ans[i].fi+1,m)*(ans[i+1].se%mod)))%mod+mod)%mod;    }    cout<<sum<<endl;    return 0;}
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 上海居住证过期了怎么办 地铁卡消磁了怎么办 学生卡消磁了怎么办 家属院没房产证怎么办 邮箱收不到邮件怎么办 大学宿舍八人间怎么办 高中档案袋拆了怎么办 公派教师回国后怎么办? 事业单位辞职后档案怎么办 学信支付不了怎么办 校外怎么办北邮校园卡 报考身份证丢了怎么办 买房怎么办不取消低保 自考找不到真题怎么办 自考生考研没有档案怎么办 自考本科无学位怎么办 自考学位证书没拿到怎么办 自考毕业证出生日期错误怎么办 成考没有学位证怎么办 评职称学历认证怎么办 国家不承认学历怎么办 高考分数错了怎么办 签合同了不想干怎么办 贵港教育小学插班生怎么办 学校宿舍限瓦怎么办 苹果锁屏后wifi断开怎么办 兼职一天不给钱怎么办 五月孩子掉床怎么办 孩子五月份掉床怎么办 郑州怎么办暂住证凭条 郑州居住证凭条怎么办 宿舍虫子咬人怎么办 is语音注册频繁怎么办 苹果id注销了怎么办 网站突然打不开了怎么办 谷歌邮箱打不开怎么办 360借款无力承担怎么办 公司被收购期权怎么办 创业板连续亏损怎么办 国企合并后员工怎么办 资金密码忘记了怎么办?