摘要: 被卡的一道题,其他情况都想出来了,主要是没想好A[i] == B[j]时候的处理,取最后面最大的可能不是最优解,相等的时候我暴力比较后缀的(为此还要维护一个链),这个操作是O(len) 所以T了。(也可能是写挂了,全是O(len)的数据是很难造的,看过的名单似乎暴力可行)实际上取后面最大的只是一种可... 阅读全文
posted @ 2015-11-29 13:01 陈瑞宇 阅读(213) 评论(0) 推荐(0) 编辑
摘要: dp,答案容易想到是 凑出价格总和≤m-5 + 没被使用的最大价格。dp[i = 前i种价格][j = 价格总和] = 最大没使用的价格下标idx_m。dp[i-1][j]存在的话,则只要更新idx_m。如果dp[i-1][j-c[i]]存在但是dp[i-1][j]不存在,那么c[i]必须使用,id... 阅读全文
posted @ 2015-11-29 12:58 陈瑞宇 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 用归纳法分析可以知道死循环只有4。分析一下复杂度,如果n很大并且不是素数,根据基本不等式可以知道 sum factor(n)≥2+n/2≈ n/2。复杂度是O(T*logN*sqrt(N)),这个上界比较松。如果是用Pollard_rho再开个平方估计常数也差不多了。#includeusing na... 阅读全文
posted @ 2015-11-29 12:57 陈瑞宇 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 虽然是水题,但是还是很interesting的。(大概就是我最晚出这个题了。。。博弈感觉就是靠yy能力啊。这题是对称性。最后的必败态是白色格子对称的,一旦对称形成,对手怎么选,跟随就好,对手无法摆脱。当n是奇m是奇,取最中间的一个,当一奇一偶,去掉一个奇数列或行。只有一开始就是对称的才会输。#inc... 阅读全文
posted @ 2015-11-29 12:57 陈瑞宇 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 小鸟往四个方向飞都枚举一下,数据范围没给,离散以后按在其中一个轴线排序,在线段树上更新墙的id,然后就是点查询在在哪个墙上了。这题有个trick,因为数据范围没给我老以为是inf设置小了,WA了很多发。(距离可能比0x3f3f3f3f大实现上,我是把鸟和墙的坐标放一起的,用下标来区别两者。/****... 阅读全文
posted @ 2015-11-29 12:56 陈瑞宇 阅读(432) 评论(0) 推荐(0) 编辑
摘要: 不存在-1的情况,而且最多一轮就结束了。如果新增加的黑点v0会产生新的黑点v1,那么v0和v1肯定是在一条轴上的,而原来这条轴上已经有黑点了。离散以后扫描线统计,往线段上插点,然后查询区间上点数。不妨以x为主轴,用一条条平行于y轴的线去扫。按照x为主y为副排序以后,记录下标,将下标按y为主排序,为的... 阅读全文
posted @ 2015-11-29 12:32 陈瑞宇 阅读(530) 评论(0) 推荐(0) 编辑
摘要: BIT更新一个区间的前缀和是很容易的,modify操作修改的是[x,N]的所有前缀和(也就是修改的是一个后缀)。二维的也是容斥一下就好了。对于查询的(x,y),回答前缀和(x,y)就好了。/*******************************************************... 阅读全文
posted @ 2015-11-29 11:19 陈瑞宇 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 分相离,内含,想交三种情况讨论一下。主要是精度和数据范围的问题,首先数据用long double,能用整型判断就不要用浮点型。题目中所给的坐标,半径是整型的,出现卡浮点判断的情况还是比较少的。最后算三角型面积的时候不要用海伦公式,有四个连乘很容易爆数据范围损失精度,即使拆开两两乘也要考虑符号(取对数... 阅读全文
posted @ 2015-11-29 00:07 陈瑞宇 阅读(478) 评论(0) 推荐(0) 编辑
摘要: 模拟题,意思是一个字符串,单词直接用','或';'来分割,可以为空,把不含前导0的整数和其他单词分别放入A和B。按照一定格式输出。没有用stl的习惯。维护两个下标i,j,表示开区间(i,j),两段补上分割符号。每个单词后面都加上一个',',输出的时候在处理掉。用最后的','判断A和B是不是空。#in... 阅读全文
posted @ 2015-11-29 00:02 陈瑞宇 阅读(469) 评论(0) 推荐(0) 编辑