zoukankan      html  css  js  c++  java
  • Educational Codeforces Round 5

    题目链接:https://codeforces.com/contest/616

    A - Comparing Two Long Integers

    ?模拟题,随便搞搞。

    B - Dinner with Emma

    ?模拟题,随便搞搞。

    C - The Labyrinth

    ?模拟题,随便搞搞。

    不过要小心计算重复,作为一个1900的选手当然预测到了这一点。

    维护连通块的性质,用并查集比用dfs两次遍历要方便。

    D - Longest k-Good Segment

    一条憨b尺取。但是为什么尺取是对的呢,因为枚举了右端点R,而保持左端点是合法情况下离右端点最远的。

    E - Sum of Remainders

    简单的数论分块。

    题意:求 (sumlimits_{i=1}^{m} n%i)

    题解:即 (sumlimits_{i=1}^{m} n-lfloorfrac{n}{i} floor*i)

    (n*m -sumlimits_{i=1}^{m}lfloorfrac{n}{i} floor*i)

    对后面那个进行数论分块。

    注意数论分块的写法,是把n/i结果相同的分成一类,首先要保证n/i!=0,否则求r的过程中就会除以零错误,所以l<=min(n,m),而r=min(m,n/(n/l))。

    而且对i求和,得到的是一个二次的东西,在中间结果溢出了,实在不好。

    ll n, m;
    
    void test_case() {
        scanf("%lld%lld", &n, &m);
        ll ans = n % MOD * (m % MOD) % MOD;
        ll tmp = 0;
        for(ll l = 1, r; l <= min(n, m); l = r + 1) {
            r = min(m, n / (n / l));
            tmp += ((n / l) % MOD) * ((l + r) % MOD) % MOD * ((r - l + 1) % MOD) % MOD * INV2 % MOD;
        }
        ans = (ans - tmp % MOD + MOD) % MOD;
        printf("%lld
    ", ans);
    }
    

    应该抽象一个S1(ll x)函数,返回从[1,x]的1次方和。

    ll n, m;
    
    ll S1(ll x) {
        x %= MOD;
        return (1 + x) * x / 2 % MOD;
    }
    
    void test_case() {
        scanf("%lld%lld", &n, &m);
        ll ans = n % MOD * (m % MOD) % MOD;
        ll tmp = 0;
        for(ll l = 1, r; l <= min(n, m); l = r + 1) {
            r = min(m, n / (n / l));
            tmp += (((n / l) % MOD) * ((S1(r) - S1(l - 1) + MOD) % MOD)) % MOD;
        }
        ans = (ans - tmp % MOD + MOD) % MOD;
        printf("%lld
    ", ans);
    }
    

    F - Expensive Strings

    看了一下标签是后缀数据结构,有点慌。题解貌似说是后缀自动机或者后缀树。

  • 相关阅读:
    AJAX 方式
    Qt程序设计——txt文本中获取字符串的问题
    二、Cocos2dx中Android部分的c++和java实现相互调用(高级篇)
    Android项目 手机安全卫士(代码最全,注释最详细)之五 splash动画效果
    Navigator 对象
    Dreamweaver中打开CodeSmith文件
    IOS开发:xcode5版本引发的问题
    Ubuntu 13.04 小米2S连接Eclipse真机调试
    Java面试题之四
    c++基础 之 面向对象特征一 : 继承
  • 原文地址:https://www.cnblogs.com/KisekiPurin2019/p/12484185.html
Copyright © 2011-2022 走看看