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. I Count Two Three HDU - 5878(暴力二分)

    为甚么16年Qingdao Online 都是暴力题emm///... 先暴力预处理 然后lower _bound二分 #include <iostream> #include <c ...

  2. 【CF183D】T-shirt(动态规划,贪心)

    [CF183D]T-shirt(动态规划,贪心) 题面 洛谷 CodeForces 题解 \(O(n^2m)\)的暴力懒得写了,比较容易,可以自己想想. 做法是这样的,首先我们发现一个结论: 对于某个 ...

  3. Hplsql报错:...HiveSQLExpection:Error while compiling statement:No privilege 'Select' found for inputs {.....}

    实践hplsql时,遇到的问题总结一下,若有不对的地方,欢迎交流. 一.Hplsql简介 hplsql的介绍详见:http://lxw1234.com/archives/2015/09/492.htm ...

  4. BZOJ2529 [Poi2011]Sticks 【贪心】

    题目链接 BZOJ2529 题解 要组成三角形,当且仅当最长边长度小于另两条边之和 我们就枚举最长边,另两条边当然是越大越好 我们将所有边排序,从小枚举并记录各个颜色的最长边 当枚举到当前边时,找到除 ...

  5. 使用SUID二进制文件进行Linux权限升级技巧

      0x00 基础知识 众所周知,在Linux中一切都以文件存在,包括具有允许或限制三个执行操作(即读/写/执行)权限的目录和设备.因此,当给任何文件设置权限时,应该需要了解允许的Linux用户或限制 ...

  6. 解题:NOI 2009 管道取珠

    题面 考虑这个平方的实际意义,实际是说取两次取出一样的序列 那么设$dp[i][j][k][h]$表示第一次在上面取$i$个下面取$j$个,第二次在上面取$k$个下面取$h$个的方案数 等等$n^4$ ...

  7. struts2为什么action要继承actionSupport类

    我们为了方便实现Action,大多数情况下都会继承com.opensymphony.xwork2.ActionSupport类, 并重载(Override)此类里的String execute()方法 ...

  8. 题解【bzoj1503 [NOI2004]郁闷的出纳员】

    Description 给出一个下限 \(m\) ,要求维护以下操作 插入一个数(如果小于下限就不加) 给每个数加上一个数 给每个数减去一个数,并且删除掉 \(< m\) 的所有数 求目前第 \ ...

  9. Docker管理工具-Swarm

    一.Swarm介绍 Swarm是Docker公司在2014年12月初发布的一套较为简单的工具,用来管理Docker集群,它将一群Docker宿主机变成一个单一的,虚拟的主机.Swarm使用标准的Doc ...

  10. Cloudstack介绍(一)

    云计算的出现 基本上,云计算只是一种把 IT 资源当作服务来提供的手段.几乎所有 IT 资源都可以作为云服务来提供:应用程序.计算能力.存储容量.联网.编程工具,以至于通信服务和协作工具. 云计算最早 ...