zoukankan      html  css  js  c++  java
  • Codeforces Round #553 (Div. 2)

    怎么这个 (Div.2) 这么水啊,除了最后一题都是 (SB)

    A

    SB 题

    B

    先全部选择第一列,如果不行,随便找到一行一个不相等的位置即可

    C

    一眼就会

    考虑分别记录奇偶枚举到多少,假如是 (a)(b)

    则奇数贡献即为 (a*2),偶数贡献 (b*(b+1))

    倍增求出 (a)(b)

    没了

    int l, r ;
    
    int work(ll n) {
    	ll odd = 0, even = 0 ;
    	ll s = 0, i, j = 1 ;
    	for (i = 1; s < n; i *= 2) {
    		ll add = min(n - s, i) ;
    		s += add ;
    		if (j == 1) odd += add ;
    		else even += add ;
    		j ^= 1 ;
    	}
    	odd %= MOD ;
    	even %= MOD ;
    	ll ans = odd * odd + even * (even + 1) ;
    	return ans % MOD ;
    }
    
    signed main() {
    	scanf("%lld%lld", &l, &r) ;
    	printf("%lld
    ", (work(r) - work(l - 1) + MOD) % MOD) ;
    }
    

    D

    你把那个式子展开

    [a_i*(j-1)+b_i*(n-j)\ =a_i*j-a_i+b_i*n-b_i*j\ =j*(a_i-b_i)+b_i*n-a_i ]

    直接按照 (a_i-b_i) 从大到小排序即可

    E

    稍微有点意思

    开始以为是一棵树,后来发现就是链,那不就简单了

    一看到这种求某一个函数值的和的问题就会想到算贡献

    考虑两个位置对于答案的贡献

    • (a_i > a_{i-1}),那么显然它对于 ([a_{i-1}, a_i]~...~[a_{i-1}, n]) 的区间都有了 (1) 的贡献
    • (a_i < a_{i-1}),那么显然它对于 ([1, a_{i-1}]~...~[a_i, a_{i-1}]) 的区间都有了 (1) 的贡献

    所以 (O(n)) 扫一遍即可

    加油ヾ(◍°∇°◍)ノ゙
  • 相关阅读:
    李白—烂尾楼题记
    [原创]网络图片延迟加载实现,超越jquery2010年3月26日
    利用反射,泛型,扩展方法快速获取表单值到实体类
    断点续传 到底是很么
    认识LINQ
    Gridview控件用法大总结
    网站性能优化总结。
    JQ小技巧
    自己写的jq_3个小插件
    MOSS中SPuser类的使用
  • 原文地址:https://www.cnblogs.com/harryhqg/p/10736623.html
Copyright © 2011-2022 走看看