下面不再说明题意了请自行读题,直接放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. 【Poj2960】S-Nim & 博弈论

    Position: http://poj.org/problem?id=2960 List Poj2960 S-Nim List Description Knowledge Solution Noti ...

  2. 【POJ 3714】 Raid

    [题目链接] http://poj.org/problem?id=3714 [算法] 分治求平面最近点对 [代码] #include <algorithm> #include <bi ...

  3. Unity基本操作

    主要内容: C#学习 Unity项目 打砖块:BreakBricks Unity操作 Unity操作: 调试 碰撞体 触发器 视角 键盘视角平移 光照贴图 游戏对象Gameobject 访问对象 实体 ...

  4. PKUSC2017 游记 密码:blog密码

    退役之前,写点破事乐呵乐呵 省选滚大粗   报了PKU和THU的SC  果然THU直接审核不通过... 于是就来到了PKU   滚粗狗就又续命几天. Day1 上午考数学 喜闻乐见啥都不会 出来一对题 ...

  5. cglib动态代理(即AOP)

    Computer.java package com.wh.spring_aop; public class Computer { public void playLOL(){ System.out.p ...

  6. 【Leetcode 3】Longest Substring Without Repeating Characters0

    Description: Given a string, find the length of the longest substring without repeating characters. ...

  7. [转]linux之awk命令

    转自:http://blog.chinaunix.net/uid-23302288-id-3785105.html awk是行处理器: 相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理缓 ...

  8. Linq学习(零)-错误汇总

    问题一: Cannot execute text selection: CS0009 Metadata file 'C:\Users\Kimisme\Documents\LINQPad Plugins ...

  9. Html常用标签及全称

    <!-- 块标签 divsion --><div></div> <!--br 换行    break--> <br /> <!--分割 ...

  10. RabbitMQ 创建用户和创建Virtual host

    https://www.bilibili.com/video/av18997807/?p=3 Virtual host 就是类似数据库吧.