下面不再说明题意了请自行读题,直接放contest链接。

https://vjudge.net/contest/151607

A.考虑当火车隔k站一停时

区间长度 >= k 的纪念品一定能买到

区间长度 <k 的纪念品最多覆盖一个停靠的站点

求出 n / k 个点, 每个点上覆盖的纪念品数累加即可

k 从 1 到 m 都需要求

我们只要把纪念品按区间长度排序

然后向后扫就可以了

总复杂度 O(nlog^2n)

 #include <cstdio>
#include <algorithm> #define lowbit(x) (x&(-x)) using std::sort; const int maxn = ; int n, m, c[maxn]; struct node {
int l, r, len;
bool operator < (const node &a) const {
return len < a.len;
}
}a[maxn]; void add(int i, int x) {
while(i <= m) c[i] += x, i += lowbit(i);
} int ask(int i) {
int ret = ;
while(i > ) ret += c[i], i -= lowbit(i);
return ret;
} int main() {
scanf("%d %d", &n, &m);
for(int i = ;i <= n;i ++) {
scanf("%d %d", &a[i].l, &a[i].r);
a[i].r ++, a[i].len = a[i].r - a[i].l;
}
sort(a + , a + n + );
for(int i = , j = , ans;i <= m;i ++) {
while(j <= n && a[j].len < i) {
add(a[j].l, );
add(a[j].r, -);
j ++;
}
ans = n - j + ;
for(int k = i;k <= m;k += i)
ans += ask(k);
printf("%d\n", ans);
}
}

B.一个暴力理论向上约等于O(n^3)的做法:

我们把原矩阵旋转45度,再扔掉那些对当前点贡献为0的点

就能得到一个对当前点有贡献的正方形点阵

从外到里,贡献系数递增

所以我们的做法就是枚举点,然后O(k)计算它的 f 函数值...

下面代码把 scanf 改成快读卡常数就能过了...

 #include <cstdio>

 #define rep(i, j, k) for(int i = j;i <= k;i ++)

 long long s[][], ans = -, tmp;

 int n, m, k, t, p, q, ax, ay;

 int main() {
scanf("%d %d %d", &n, &m, &k);
rep(i, , n) rep(j, , m) {
scanf("%d", &t);
s[i + j - ][i - j + m] = t;
}
rep(i, , n + m - ) rep(j, , m + n - )
s[i][j] += s[i - ][j] + s[i][j - ] - s[i - ][j - ];
rep(i, k, n + - k) rep(j, k, m + - k) {
tmp = , p = i + j - , q = i - j + m;
rep(r, , k - ) tmp += s[p + r][q + r] - s[p - r - ][q + r] - s[p + r][q - r - ] + s[p - r - ][q - r - ];
if(tmp > ans) ans = tmp, ax = i, ay = j;
}
printf("%d %d", ax, ay);
return ;
}

BUPT2017 wintertraining(15) #9的更多相关文章

  1. BUPT2017 wintertraining(15) #3 题解

    我觉得好多套路我都不会ヘ(;´Д`ヘ) 题解拖到情人节后一天才完成,还有三场没补完,真想打死自己.( ˙-˙ ) A - 温泉旅店 UESTC - 878  题意 ​ 有n张牌,两人都可以从中拿出任意 ...

  2. BUPT2017 wintertraining(15) #2 题解

    这场有点难,QAQ.补了好久(。• ︿•̀。) ,总算能写题解了(つд⊂) A. Beautiful numbers CodeForces - 55D 题意 ​ 求\([l,r](1\le l_i\l ...

  3. BUPT2017 wintertraining(15) #1 题解

    拖了一周才完成的题解,抛出一个可爱的表情 (っ'-')╮ =͟͟͞͞❤️.对我来说E.F比较难,都是线段树的题,有点久没写了. A - Infinite Sequence CodeForces - 6 ...

  4. BUPT2017 springtraining(15) #3

    这里这里 A.签到题 #include <cstdio> double a[] = {0.4, 0.16, 0.063, 0.025, 0.010, 0.004}; int main() ...

  5. BUPT2017 wintertraining(16) #9

    龟速补题.目前基本弃坑.已暂时放弃 D.I 两题. 下面不再写题意了直接说解法注意事项之类,直接放contest链接. https://vjudge.net/contest/151537 A.The ...

  6. 【AtCoder - 2300】Snuke Line(树状数组)

    BUPT2017 wintertraining(15) #9A 题意 有n个纪念品,购买区间是\([l_i,r_i]\).求每i(1-m)站停一次,可以买到多少纪念品. 题解 每隔d站停一次的列车,一 ...

  7. 【HDU - 4349】Xiao Ming's Hope

    BUPT2017 wintertraining(15) #8H 题意 求组合数C(n,i),i从0到n,里面有几个奇数. 题解 直接打表的话可能就直接发现规律了. 规律是n的二进制里有几个1,答案就是 ...

  8. 【HDU - 4348】To the moon(主席树在线区间更新)

    BUPT2017 wintertraining(15) #8G 题意 给一个数组a,有n个数,m次操作.\(N, M ≤ 10^5, |A i| ≤ 10^9, 1 ≤ l ≤ r ≤ N, |d| ...

  9. 【HDU - 4345 】Permutation(DP)

    BUPT2017 wintertraining(15) #8F 题意 1到n的排列,经过几次置换(也是一个排列)回到原来的排列,就是循环了. 现在给n(<=1000),求循环周期的所有可能数. ...

随机推荐

  1. 【转】ACM 2567 -- 树的Prufer编码

    本文介绍北京大学ACM网站2567号题目的解法.介绍部分基本翻译自网站上的题目介绍. 题目介绍:    给定一棵各节点编号为整数1,2,3...n的树(例如,无环连通图),其Prufer编码(Pruf ...

  2. Tool:安全狗

    ylbtech-Tool:安全狗 安全狗,互联网安全品牌,云安全服务与解决方案提供商 .企业用户遍布互联网金融.电商.游戏.移动互联网.政府单位等多个行业. 1.返回顶部 1.   2. 2.返回顶部 ...

  3. codeforces round #415 div2

    由于下午硬钢树套树和大力颓废就没补完 C:我傻逼比赛时没做出来...就是排个序然后算贡献 #include<bits/stdc++.h> using namespace std; type ...

  4. yistack

  5. 字典(Trie树)

    4189 字典  时间限制: 1 s  空间限制: 256000 KB  题目等级 : 大师 Master     题目描述 Description 最经,skyzhong得到了一本好厉害的字典,这个 ...

  6. 【转】关于Java基础你不得不会的34个问题

    1. 面向对象和面向过程的区别 面向过程 优点: 性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机.嵌入式开发.Linux/Unix等一般采用面向过程开发,性能是最重要的 ...

  7. Jsoup爬虫获取公司纳税识别号

    天眼查 /** * 根据公司名称获取统一社会信用代码 * * @author xiaofei.xian 日期:2019年3月20日 上午11:12:41 */ public class GetTaxN ...

  8. Centos7 时间不正确修复

    查看系统支持的时区列表 timedatectl list-timezones 使用 date -R 查看时区是否正确 date -R 修改时区 timedatectl set-timezone Asi ...

  9. ACM_梦中的函数

    梦中的函数 Time Limit: 2000/1000ms (Java/Others) Problem Description: 寒假那段时间,每天刷题的小G连做梦都是代码,于是有了这道题. 给定一个 ...

  10. Spark SQL入门案例之人力资源系统数据处理

    通过该案例,给出一个比较完整的.复杂的数据处理案例,同时给出案例的详细解析. 人力资源系统的管理内容组织结构图 1) 人力资源系统的数据库与表的构建. 2) 人力资源系统的数据的加载. 3) 人力资源 ...