2015 Dhaka

A - Automatic Cheater Detection

solution
模拟计数。

B - Counting Weekend Days

solution
模拟计数。

C - Toll Management IV

题目描述:有一个\(n\)个点\(m\)条边的图,每条边有权值,现在给出图中一棵合法的最小生成树,问每条边权值最多增加多少,最多减少多少,使得给出的最小生成树还是最小生成树。

solution
对于给定的最小生成树,最多减少多少无界,对于其它的边,最多增加多少无界。
对于每一条非最小生成树上的边,最多减少的值为该边的两个端点在树上的路径的最大权值,而树上的路径权值最多增加到该边的边权。
因此可以用倍增的方法求出树的两点间的最大值,以及维护两点间的最多增加到的值。

时间复杂度:\(O(nlogn)\)

D - Owllen

solution
答案为出现次数最少的字母的出现次数。

E - Sum of MSLCM

题目描述:求\(1\)~\(n\)的约数的和的和。

solution
这显然是个积性函数,所以可用线性筛预处理。

时间复杂度:\(O(n)\)

F - Unique Party

题目描述:给定一个网格图,每个格子有一个值。现在有\(Q\)个询问,每次询问一个中位数(取大的那个)大于等于\(h\)的最大矩形面积。

solution
对于一个询问\(h\),将网格中大于等于\(h\)的值变为\(1\),将小于\(h\)的值变为\(-1\),则原问题相当于是求子矩阵的和非负的最大子矩阵的面积。枚举子矩阵的第一行与最后一行,求出每一列在这段区间的和,二维问题变为一维问题,求前缀和\(sum\),将区间的和变为两点的差,存在包含的区间只考虑长的那个即可,因此如果\(sum[i+1]>=sum[i]\),则\(i\)不会成为右端点。枚举右端点,左端点单调。

时间复杂度:\(O(n^3)\)

G - Honey King

题目描述:在二维蜂巢中定义坐标,给定一些坐标,求包含这些坐标的最小正六边形里面的点数。

solution

二分正六边形的边长(也可以说是正六边形的层数),如上图所示,如果以\((0, 0)\)作为中心点,那么蓝色是\(x\)坐标的界,绿色是\(y\)坐标的界,黄色是\(x+y\)的界,因此可以对每个坐标可以算出中心点的可行区间,然后判断每个坐标的可行区间的交是否有解即可。

时间复杂度:\(O(nlogn)\)

H - Design New Capital

题目描述:给定二维平面上的若干个坐标(不在坐标轴上),选择若干个坐标,使得原点是与所有选择的点的曼哈顿距离的和最小的解之一,问选择\(i\)个点的方案数。

solution
原题等价于选择的点的\(x\)坐标的中间两个数之间有\(0\),\(y\)坐标也是。所以第一象限的点数要等于第三象限的点数,第二象限的点数要等于第四象限的点数,用组合数可以算出第一,第二象限选\(i\)个数的方案,然后用\(NTT\)求卷积即可。

时间复杂度:\(O(nlogn)\)

I - Numbered Cards

题目描述:有\(n\)个数\(1\)~\(n\),问从中选择若干个数,使得任意两个数没有相同的数字的方案数。

solution
状压\(dp\)(集合\(dp\))+数位\(dp\)
状压\(dp\)记住当前用了哪些数字,枚举新的一个数用了哪些数字,然后这个新的数有多少个可以用数位\(dp\)来求。

时间复杂度:\(O(2^{10}*?*9*10)\)

J - The Hypnotic Spirals

2015 Dhaka的更多相关文章

  1. 2015 西雅图微软总部MVP峰会记录

    2015 西雅图微软总部MVP峰会记录 今年决定参加微软MVP全球峰会,在出发之前本人就已经写这篇博客,希望将本次会议原汁原味奉献给大家 因为这次是本人第一次写会议记录,写得不好的地方希望各位园友见谅 ...

  2. 使用Visual Studio 2015 开发ASP.NET MVC 5 项目部署到Mono/Jexus

    最新的Mono 4.4已经支持运行asp.net mvc5项目,有的同学听了这句话就兴高采烈的拿起Visual Studio 2015创建了一个mvc 5的项目,然后部署到Mono上,浏览下发现一堆错 ...

  3. TFS 2015 敏捷开发实践 – 在Kanban上运行一个Sprint

    前言:在 上一篇 TFS2015敏捷开发实践 中,我们给大家介绍了TFS2015中看板的基本使用和功能,这一篇中我们来看一个具体的场景,如何使用看板来运行一个sprint.Sprint是Scrum对迭 ...

  4. TFS 2015 敏捷开发实践 – 看板的使用

    看板在现代应用开发过程中使用非常广泛,不管是使用传统的瀑布式开发还是敏捷开发,都可以使用看板管理.因为看板拥有简单的管理方法,直观的显示方式,所以很多软件开发团队选择使用看板进行软件开发管理.本文不在 ...

  5. Microsoft Visual Studio 2015 下载、注册、安装过程、功能列表、问题解决

    PS:请看看回复.可能会有文章里没有提到的问题.也许会对你有帮助哦~ 先上一张最终的截图吧: VS2015正式版出了,虽然没有Ultimate旗舰版,不过也是好激动的说.哈哈.可能有的小伙伴,由于工作 ...

  6. 一年之计在于春,2015开篇:PDF.NET SOD Ver 5.1完全开源

    前言: 自从我2014年下半年到现在的某电商公司工作后,工作太忙,一直没有写过一篇博客,甚至连14年股票市场的牛市都错过了,现在马上要过年了,而今天又是立春节气,如果再不动手,那么明年这个无春的年,也 ...

  7. .NET开源进行时:消除误解、努力前行(本文首发于《程序员》2015第10A期的原始版本)

    2014年11月12日,ASP.NET之父.微软云计算与企业级产品工程部执行副总裁Scott Guthrie,在Connect全球开发者在线会议上宣布,微软将开源全部.NET核心运行时,并将.NET ...

  8. 2015微软MVP全球峰会见闻

    2015.10.31-2015.11.8 一周的时间完成微软MVP全球峰会旅程,这一周在不断的倒时差,行程安排非常的紧张,还好和大家请假了没有更新微信公众号,今天开始继续更新微信公众号,开始新的旅程, ...

  9. Windows 7 上安装Visual Studio 2015 失败解决方案

    安装之前先要看看自己的系统支不支持,具体的可以看:https://www.visualstudio.com/en-us/visual-studio-2015-system-requirements-v ...

随机推荐

  1. Python画统计图

    https://blog.csdn.net/jenyzhang/article/details/52046372

  2. BZOJ 2157: 旅游

    2157: 旅游 Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 1347  Solved: 619[Submit][Status][Discuss] ...

  3. 用Python实现的数据结构与算法:基本搜索

    一.顺序搜索 顺序搜索 是最简单直观的搜索方法:从列表开头到末尾,逐个比较待搜索项与列表中的项,直到找到目标项(搜索成功)或者 超出搜索范围 (搜索失败). 根据列表中的项是否按顺序排列,可以将列表分 ...

  4. 解题:洛谷4721 [模板]分治FFT

    题面 这是CDQ入门题,不要被题目名骗了,这核心根本不在不在FFT上啊=.= 因为后面的项的计算依赖于前面的项,不能直接FFT.所以用CDQ的思想,算出前面然后考虑给后面的贡献 #include< ...

  5. Jenkins(一)---我理解的jenkins是这样的

    1.齿轮 如果将 java / maven / ant / git / tomcat / jenkins 等等软件比喻为齿轮:如下图 两个软件在一起可以驱动另外一个软件:如下图 如果把这些软件要集成在 ...

  6. linux内核增加系统调用--Beginner's guide

    Linux内核中设置了一组用于实现系统功能的子程序,称为系统调用.系统调用和普通库函数调用非常相似明知是系统调用由操作系统核心提供,运行于核心态,而普通的函数调用由函数库或用户自己提供,运行于用户态. ...

  7. 栈(C语言实现)

    栈是一种线性数据结构,顺序可能是 LIFO(后进先出)或 FILO(先进先出). 堆栈主要有三个基本操作: 1.push,把元素压入栈 2.pop,从栈中弹出元素(同时从栈中移除),最后加入的第一个被 ...

  8. Error: cannot allocate vector of size 88.1 Mb问题

    这几天训练模型运行代码的时候,老是提示我说:Error: cannot allocate vector of size 88.1 Mb,只知道分配空间不足. 下面是查资料看到的一些回答: 一.这个是R ...

  9. Python【操作Redis数据库】

    Redis非关系型数据库,数据存放在计算机内存中,无SQL语句.Redis中有多种数据类型,比较常用的数据类型是string类型和hash类型.平时我们使用RedisDesktopManager来对R ...

  10. Docker应用二:docker常用命令介绍

     Docker常用命令使用介绍 docker中常用的命令: 1.docker search image_name:搜查镜像 2.docker pull image_name:从镜像库中拉去镜像 3.d ...