08 2016 档案

摘要:1 (⌒▽⌒) 2 ( ̄▽ ̄) 3 (=・ω・=) 4 (`・ω・´) 5 (〜 ̄△ ̄)〜 6 (・∀・) 7 (°∀°)ノ 8 ( ̄3 ̄) 9 ╮( ̄▽ ̄)╭ 10 ( ´_ゝ`) 11 ←_← 12 →_→ 13 (_>) 15 (;¬_¬) 16 ("▔□▔)/ 17 (゚Д゚≡゚д゚)!? 18 Σ(゚д゚;) 19 Σ(  ̄□ ̄||) 20 (´;ω;`) 21 (/... 阅读全文
posted @ 2016-08-30 16:23 chenhuan001 阅读(178) 评论(0) 推荐(0) 编辑
摘要:先来看一个代码,估计很多同学都碰到过其中的某一个。 估计很多同学都饱受摧残(T-T)。 更坑的是,卧槽不同编译器下会有不用的结果。(╯°口°)╯(┴—┴ a.VS2013下的运行结果 b.g++下的运行结果 从结果可以看出,除了最开始两个书本上教的a++与++a是一致的(a++是先取a值然后再执行a 阅读全文
posted @ 2016-08-30 16:21 chenhuan001 阅读(1506) 评论(0) 推荐(0) 编辑
摘要:最大权闭合图完美的解决了网络流中,对节点间>1的依赖关系。 hdu 5845 (二分+最大权闭合图) 阅读全文
posted @ 2016-08-26 10:33 chenhuan001 阅读(167) 评论(0) 推荐(0) 编辑
摘要:听说3^n也能水过去。。 其实应该是个经典题,求图染色这个np问题。 把问题拆成独立集来进行dp可以在3^n之内水过去。 拆成独立集的时候就发现,等价与一个经典的反演dp问题 然后复杂度就变成了 n*n*2^n 另外,偷到一套头文件宏定义。 阅读全文
posted @ 2016-08-23 21:40 chenhuan001 阅读(314) 评论(0) 推荐(0) 编辑
摘要:咋一看,至少要用3^n才能做到。 但。 首先定义: 可以发现只要求出a' b' 那么直接可以得出c' 那么如何求a'呢 有了a'之后,观察式子发现直接逆着写,就可以从a'->a 然后反演即为: 然后就可以在n*2^n 内求出C 参考:炫酷反演魔术 阅读全文
posted @ 2016-08-23 21:32 chenhuan001 阅读(461) 评论(0) 推荐(0) 编辑
摘要:#pragma comment(linker, "/STACK:102400000,102400000") #include #include #include #include #include #include #include #include #include #include #include #include #include #include #defi... 阅读全文
posted @ 2016-08-23 15:25 chenhuan001 阅读(192) 评论(0) 推荐(0) 编辑
摘要://测时间 class Timer { private: clock_t _start; clock_t _end; public: Timer() { start(); } void start() { _start = clock(); } double get() { _end = clock(); ... 阅读全文
posted @ 2016-08-23 14:41 chenhuan001 阅读(224) 评论(0) 推荐(0) 编辑
摘要:/* 幻方的计算: 计算任意阶数幻方的各行、各列、各条对角线上所有数的和的公式为:sum=n*(n^2+1)/2 n为阶数 幻方分为奇阶幻方和偶阶幻方 一、当n为奇数时称为奇阶幻方 1、Merzirac法生成奇阶幻方 在第一行居中的方格内放1,依次向右上方填入2、3、4…,如果右上方已有数字,则向下移一格继续填写。 ... 阅读全文
posted @ 2016-08-23 11:17 chenhuan001 阅读(687) 评论(0) 推荐(0) 编辑
摘要:Treap树 核心是 利用随机数的二叉排序树的各种操作复杂度平均为O(lgn) Treap模板: 相关题解: POJ 3481 treap POJ 1442 treap POJ 2352 treap Splay Tree(伸展树) 核心就是 过程Splay(x, y),即将x节点转移到y节点的子节点 阅读全文
posted @ 2016-08-19 16:59 chenhuan001 阅读(2570) 评论(0) 推荐(0) 编辑
摘要:肛道理,斜率优化就是一种数形结合的思想啦。 把dp方程写出来,然后维护凸包即可。 hdu 3507 Print Article Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others)Total 阅读全文
posted @ 2016-08-18 17:08 chenhuan001 阅读(201) 评论(0) 推荐(0) 编辑
摘要:注意:这题题意是有操作的天数相隔要大于w 然后列出状态转移方程就可以发现,可以用优点队列优化啦。 构造状态dp[i][j]表示第i 天拥有 j只股票的时候,赚了多少钱 状态转移有: 1、从前一天不买不卖: dp[i][j]=max(dp[i-1][j],dp[i][j]) 2、从前i-W-1天买进一 阅读全文
posted @ 2016-08-17 21:51 chenhuan001 阅读(297) 评论(0) 推荐(0) 编辑
摘要:#define N 100100/******************_单调队列模板_******************/ //基于单调队列功能的单一性:以limit为序查找在一定范围内的极值。 //复杂度:O(n) //用法: 创建的时候调用.init() // 插入队列:.push( Q_Node( KEY,LIMIT ) ); // 设置limit值:.setlimi... 阅读全文
posted @ 2016-08-17 21:46 chenhuan001 阅读(201) 评论(0) 推荐(0) 编辑
摘要:本文转至:http://www.cnblogs.com/gw811/archive/2012/10/25/2738929.html C++模板 模板是C++支持参数化多态的工具,使用模板可以使用户为类或者函数声明一种一般模式,使得类中的某些数据成员或者成员函数的参数、返回值取得任意类型。 模板是一种 阅读全文
posted @ 2016-08-16 20:17 chenhuan001 阅读(248) 评论(0) 推荐(0) 编辑
摘要:关于无向图删边游戏,首先游戏的规则如下: 然后看下最关键的定理: 叶子节点的 SG 值为 0; 中间节点的 SG 值为它的所有子节点的 SG 值 加 1 后的异或和。 精彩证明: 有了这个定理,这个问题就可以轻松用sg函数搞定了. 然后再来看几个变形. 1. 可以发现,得到两个关键性质,直接就可以转 阅读全文
posted @ 2016-08-13 17:05 chenhuan001 阅读(1017) 评论(0) 推荐(0) 编辑
摘要:转自:http://blog.sina.com.cn/s/blog_8f06da99010125ol.html 翻硬币游戏 一般的翻硬币游戏的规则是这样的: N 枚硬币排成一排,有的正面朝上,有的反面朝上。我们从左开始对硬币按1 到N 编号。 第一,游戏者根据某些约束翻硬币,但他所翻动的硬币中,最右 阅读全文
posted @ 2016-08-13 16:55 chenhuan001 阅读(445) 评论(0) 推荐(0) 编辑
摘要:先看一个问题 HDU 3595 GG and MM (Every_SG博弈) 题目有N个游戏同时进行,每个游戏有两堆石子,每次从个数多的堆中取走数量小的数量的整数倍的石子。取最后一次的获胜。并且N个游戏同时进行,除非游戏结束,否则必须操作。 现在问题变成了,每次都必须在每个非空石子堆中选择。 这个问 阅读全文
posted @ 2016-08-13 16:53 chenhuan001 阅读(722) 评论(0) 推荐(0) 编辑
摘要:这类博弈只需要记住一点,一个由多个游戏组成的游戏sg值为这多个游戏的sg值异或和。 也就是所有对一整个nim游戏它的sg值即为每一小堆的sg的异或和。 hdu 5795 这题就是可以选择把一堆石子分成3堆。 通过上述方法,只需要打表找出规律即可。 阅读全文
posted @ 2016-08-13 16:41 chenhuan001 阅读(801) 评论(0) 推荐(0) 编辑
摘要:改变了下规则,现在变成了最后拿的人输。 如果对于单纯的nim的话,只需要判断每堆都是1个石子的特殊情况。 因为如果存在有大于1个石子的堆话,类似于nim的取法,处于必胜状态的一方只需要在 对方取完后只剩下一堆>1石子的堆中,选择留下奇数个大小为1的堆或偶数个大小为1的堆。 阅读全文
posted @ 2016-08-12 16:27 chenhuan001 阅读(170) 评论(0) 推荐(0) 编辑
摘要:求处于必胜状态有多少种走法。 if( (g[i]^ans) <= g[i]) num++; //这步判断很巧妙 阅读全文
posted @ 2016-08-12 11:38 chenhuan001 阅读(247) 评论(0) 推荐(0) 编辑
摘要:做法很显然,求出所有的锐角和钝角就能求出有多少个锐角三角形了。 我用了愚钝的方法,写了两三个小时。。。 看了下别人简单的代码。学习了下做法。 再附上自己拙略的代码: 阅读全文
posted @ 2016-08-11 10:21 chenhuan001 阅读(387) 评论(0) 推荐(0) 编辑
摘要:基础的数位dp,才发现今天才终于彻底搞懂了数位dp。。。 阅读全文
posted @ 2016-08-10 21:33 chenhuan001 阅读(212) 评论(0) 推荐(0) 编辑
摘要:划分树:一般用于快速求区间[a,b]第k大的数。 阅读全文
posted @ 2016-08-10 11:29 chenhuan001 阅读(282) 评论(0) 推荐(0) 编辑
摘要:#include #include #include #define maxn 210 #define CL(a,num) memset((a),(num),sizeof(a)) #define iabs(x) ((x) > 0 ? (x) : -(x)) #define EPS 1e-8 using namespace std; int equ,var;//方程个数和自由元的个数 do... 阅读全文
posted @ 2016-08-09 22:51 chenhuan001 阅读(238) 评论(0) 推荐(0) 编辑
摘要:应该是一个入门级别的题目。 但是有几个坑点。 1. 只选择x能到达的点作为guass中的未知数。 2. m可能大于n,所以在构建方程组时未知数的系数不能直接等于,要+= 3.题意貌似说的有问题,D为-1的时候,和题目说的不一样. 阅读全文
posted @ 2016-08-09 22:48 chenhuan001 阅读(380) 评论(0) 推荐(0) 编辑
摘要://用long double 才过的... 阅读全文
posted @ 2016-08-05 01:56 chenhuan001 阅读(509) 评论(0) 推荐(0) 编辑
摘要:A - Sqrt Bo 签到题啦,直接套一个大数模板搞定。 不过我现在使用的大数模板不支持直接定义并赋值,bignum a = 1 这样是不行的。 有因为模板中重载了= 所以可以采用: bignum a; a = 1233; 这种方法来定义一个静态大数。 // // main.cpp // mult 阅读全文
posted @ 2016-08-04 01:21 chenhuan001 阅读(257) 评论(0) 推荐(0) 编辑
摘要:PS. 看了大神的题解,发现确实可以用m个未知数的高斯消元做。因为确定了第一行的情况,之后所有行的情况都可以根据第一行推。 这样复杂度直接变成O(m*m*m) 知道了是高斯消元后,其实只要稍加处理,就可以解决带模的情况。 1 是在进行矩阵行变化的时候,取模。 2 最后的除法用逆元。(因为a[i][i 阅读全文
posted @ 2016-08-04 01:13 chenhuan001 阅读(1456) 评论(0) 推荐(0) 编辑
摘要:威佐夫博弈(Wythoff Game):有两堆各若干个物品,两个人轮流从某一堆或同时从两堆中取同样多的物品,规定每次至少取一个,多者不限,最后取光者得胜。 阅读全文
posted @ 2016-08-04 00:59 chenhuan001 阅读(772) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示