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. loj2542 「PKUWC2018」随机游走 【树形dp + 状压dp + 数学】

    题目链接 loj2542 题解 设\(f[i][S]\)表示从\(i\)节点出发,走完\(S\)集合中的点的期望步数 记\(de[i]\)为\(i\)的度数,\(E\)为边集,我们很容易写出状态转移方 ...

  2. 单点登录(十一)-----遇到问题-----cas启用mongodb验证方式报错--Unable to locate Spring NamespaceHandler for XML schema na

    cas启用mongodb验证方式报错--Unable to locate Spring NamespaceHandler for XML schema namespace [http://www.sp ...

  3. 在前台jsp页面中取得并使用后台放入域中变量的方法

    定义成 js变量后,在js中也可以自由使用.

  4. 常用Build-in Keywords

    1. Variables |- Set variable |- Create list |- Evaluate |- Get Variable Value 2. Conditional |- Run ...

  5. 闲:测试memcpy和std::copy vector之间拷贝

    预测:底层C函数肯定比stl算法快 结果:少量数据底层快,大数据以上则stl对vector的处理可能更好 C/C++: #include <iostream> #include <v ...

  6. golang 解码未知键的 json 字符串

    我们可以使用 interface 接收 json.Unmarshal 的结果,然后利用 type assertion 特性来进行后续操作. package main import ( "en ...

  7. php 中的错误处理机制

    php 里有一套错误处理机制,可以使用 set_error_handler 接管 php 错误处理,也可以使用 trigger_error 函数主动抛出一个错误. set_error_handler( ...

  8. PCA主成分分析 R语言

    1. PCA优缺点 利用PCA达到降维目的,避免高维灾难. PCA把所有样本当作一个整体处理,忽略了类别属性,所以其丢掉的某些属性可能正好包含了重要的分类信息 2. PCA原理 条件1:给定一个m*n ...

  9. 题解【51nod 1290 Counting Diff Pairs】

    Description 求区间内有多少对 \((i,j)\) 满足 \(|a_i - a_j| \leq k\) Solution 可以莫队做(万能的莫队) 只需要考虑加入一个数会产生多少贡献即可 离 ...

  10. P1850 换教室

    P1850 换教室 现在有一张图, 有 \(v <= 300\) 个节点 你需要从 \(c_{1}\) 到 \(c_{2}\) 到 \(c_{n} (n <= 2000)\) 现在你有 \ ...