下面不再说明题意了请自行读题,直接放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. bzoj1018

    线段树分治+并查集 线段树本身就是分治结构,碰见这种带删除修改的题目是再合适不过的,我们对于每段修改区间在线段树上打标记,每次路过就进行修改,叶子结点表及答案,先把所有修改在线段树上标记,然后dfs就 ...

  2. 使用免费SSL证书让网站支持HTTPS访问

    参考掘金的文章,掘金的文章最详细. https://juejin.im/post/5a31cbf76fb9a0450b6664ee 先检查是否存在 EPEL 源: # 进入目录检查是否存在 EPEL ...

  3. PCB CE工具取Genesis JOB与STEP内存地址 方法分享

    今天无意中在硬盘上找到了<CE工具取Genesis JOB与STEP内存地址 >视频, 这是2013年初由郭兄(永明)远程时录制的一段视频,特别感谢郭兄指引与帮助, 想当初要不是你推出全行 ...

  4. P3390矩阵快速幂

    题目背景 矩阵快速幂 题目描述 给定n*n的矩阵A,求A^k 输入输出格式 输入格式: 第一行,n,k 第2至n+1行,每行n个数,第i+1行第j个数表示矩阵第i行第j列的元素 输出格式: 输出A^k ...

  5. scrapy的UA池和代理池

    一.下载中间件(Downloader Middlewares) 框架图如下 下载中间件(Downloader Middlewares)位于scrapy引擎和下载器之间的一层组件. - 作用: (1)引 ...

  6. 涨知识III - 百度2016校园招聘——移动软件研发工程师

    1.列关于线程调度的叙述中,错误的是(). 正确答案 :BE A调用线程的sleep()方法,可以使比当前线程优先级低的线程获得运行机会 B调用线程的yeild()方法,只会使与当前线程相同优先级的线 ...

  7. Sqoop架构(四)

    Sqoop 架构是非常简单的,它主要由三个部分组成:Sqoop client.HDFS/HBase/Hive.Database. 下面是Sqoop 的架构图 (1)用户向 Sqoop 发起一个命令之后 ...

  8. Js打开QQ聊天对话窗口

    function openQQ() { var qq = $(this).attr('data-qq');//获取qq号 window.open('http://wpa.qq.com/msgrd?v= ...

  9. Criteria 查询

    Criteria.Criterion接口和Expression类组成,他支持在运行时动态生成查询语句. Criteria查询是Hibernate提供的一种查询方式 Hibernate检索方式:  PO ...

  10. Hive扩展功能(三)--使用UDF函数将Hive中的数据插入MySQL中

    软件环境: linux系统: CentOS6.7 Hadoop版本: 2.6.5 zookeeper版本: 3.4.8 主机配置: 一共m1, m2, m3这五部机, 每部主机的用户名都为centos ...