自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 Topcoder SRM 597 LittleElephantAndSubset

#include <vector>#include <list>#include <map>#include <set>#include <queue>#include <deque>#include <stack>#include <bitset>#include <algorithm>#include <functional>#include <numeric>#inclu

2017-01-23 21:12:06 308

原创 noip2016年初赛总结与反思

NOIP2016 惨烈的初赛错题总结反思选择题 2.如果开始时计算机处于小写输入状态,现在有一只小老鼠反复按照CapsLock、字母键A、字母键S和字母键D的顺序来回按键,即CapsLock、A、S、D、S、A、CapsLock、A、S、D、S、A、……,屏幕上输出的第81个字符是字母(A)A:A      B:S     C:D        D:a题目很水 可是没有把题目看完就

2016-10-22 20:33:23 3430 1

原创 排序算法的总结

1计数排序 一开始学排序算法想必就是用的计数排序话不多说直接上代码复杂度最低的排序算法,稳定排序,O(n+m),n为元素个数,m为数值范围。在范围小的时候可以采用#include#include#include#include#define M 1000005using namespacestd;int cnt[M];int main(){      i

2016-10-22 20:31:10 345

原创 Topcoder SRM 561 DIV2 1000 FoxAndTouristFamilies

由于是树,所以两点之间只有一条路径,那么只要把每一条边砍断,再根据左右节点计算一下就好了具体计算方法:假设这条砍掉的边就是full路,那么可以得到一个简单的性质,从这条路的左边到右边或者从右边到左右都一定会经过这条路,每一个点到除了自己以外其他点的概率就是p=1/(n-1).那么就可以转化为ans+=(当前情况的概率)*1.0也就是一条full路,到时候枚举边就可以得到总期望值了。期望值到底怎么算呢

2017-01-23 21:26:00 322

原创 Topcoder SRM 559 ToyTrain

解题大概有以下几个思路 首先判一定不能有解 有三种情况 1.图中没有’A’或’B’ 2.题目中给到的’S’点没有用到 3.有一个点非’A’非’B’点被用到了两次 ,用于横竖两个方向 那必然无解了,因为方向已经规定了 然后有解的情况 同一行中’A’的数量等于’B’,同一列同理。(显然的。。) 按照两个两个来分组 必然是A-B 或者B-A 组合 A后面总不能直接连着自己吧我的做法大概是先

2017-01-23 21:22:25 541

原创 USACO2014FebruaryGold Roadblock Dijkstra+路径还原

先用一遍Dijkstra 然后路径还原 记录一下哪些边处在最短路径上 然后for过去把这几条边都乘个2试试看 再Dijkstra更新答案 比较水的题目 很好想 就是路径还原部分要注意一下 详细可以参见代码#include<stdio.h>#include<string.h>#include<queue>#include<vector>#include<iostream>#include<a

2016-12-28 21:51:39 366

原创 莫队+树状数组 题解【bzoj3289】Mato的文件管理

首先题目意思很简单 就是求每一段区间内的逆序对个数 在我认知中有两种求逆序对的方法 1.归并排序可以求逆序对 2.树状数组求逆序对 修改和查询都是O(logn)的复杂度 本题要不断修改逆序对数据结构只能选择树状数组 然后 就往莫队上去套咯 离线求解 分块 然后按左端点所在的块排序 再按后端点排序 定义一个L,R,不断++,–,update树状数组和更新ans就好了 不过感觉有点抽象 一个

2016-12-28 21:45:58 522

原创 莫队模板题 小Z的袜子

离线的经典算法 先分块 然后按左端点所在的块先后顺序排序 再按右端点排序 L和R一直移动就好 不知道为什么感觉莫队就是优化+暴力 复杂度O(n^2)降到O(n^1.5) 分了个块也就排序用用o(╯□╰)o 之后就用不着了 很神奇的算法 表示已经被折服了#include<stdio.h>#include<string.h>#include<iostream>#include<alg

2016-12-26 21:39:44 298

原创 USACO2014FebruaryGold Cow Decathlon

可利用状压DP 只有2的20次方空间#include<stdio.h>#include<algorithm>#include<iostream>#include<string>#include<string.h>#include<vector>#define M 1200005using namespace std;int n,b;struct node{ int p,g;

2016-12-23 22:24:58 448

转载 状压DP的基本操作

状态压缩动态规划(简称状压dp)是另一类非常典型的动态规划,通常使用在NP问题的小规模求解中,虽然是指数级别的复杂度,但速度比搜索快,其思想非常值得借鉴。为了更好的理解状压dp,首先介绍位运算相关的知识。1.’&’符号,x&y,会将两个十进制数在二进制下进行与运算,然后返回其十进制下的值。例如3(11)&2(10)=2(10)。2.’|’符号,x|y,会将两个十进制数在二进

2016-12-23 21:30:17 509

原创 USACO2014JanuaryGold

更优解法 不需要整体二分 直接并查集即可 再开一个并查集的size存1的个数 把所有的边按权值从小到大排序 一层for过去 用并查集把点并在一起 当size大于等于k时 直接res+=权值*1的个数 再把size2清0 这样就不会重复计算 比整体二分复杂度低了好多哦 然而我没想到╭(╯^╰)╮#include<stdio.h>#include<string.h>#include<iost

2016-12-21 22:20:30 302

原创 USACO2014JanuaryGold

在线赛C题 USACO2014JanuaryGold拖拉机 这题挺难 考试的时候完全没思路 切入点比较偏 QAQ 首先明确一个性质 结果具有单调性 能用n*n 那么(n-1)(n-1)一定也能完成(不需要证明 覆盖4次即可) 所以答案可以从大到小递减下来 其次 最重要的切入点就是 最后一次覆盖一定是ans*ans的正方形 也就是一块里面所有相同的 然后就可以用逆向思维 倒着来进行 先找一个整

2016-12-21 21:45:41 474

原创 在线赛题解以及总结

在线赛题解 A题:跑操 实际上题目没有想象中那么难 只是一些精度处理问题 什么*1.0啊 double之类的 四舍五入 搞来搞去很烦 也就是弄两个数组然后sort一波判一下先后#include<stdio.h>#include<string.h>#include<iostream>#include<algorithm>#include<map>#include<vector>#i

2016-12-20 22:11:35 232

原创 刷漆升级线段树优化

题目描述这次是机器人来刷漆啦。先在有n面排列在一起的墙,有一个机器人,每次会对一段墙进行刷漆,把这段墙随机的刷成黑色或者白色。请问机器人刷完之后,这n面墙呈现的颜色会有多少种不同的情况?输入第一行一个整数n。接下来n行,表示机器人依次要刷的地方。每行两整数L和R,表示机器人要对 [L,R]这段墙进行刷漆。答案对1000000007取余。输出输出最后n面墙呈现的颜色会有多少种

2016-10-24 21:57:13 430 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除