自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

自己选择的路,就算跪着也要走完!

  • 博客(17)
  • 资源 (1)
  • 收藏
  • 关注

原创 【JZOJ 4823】小W学物理

Description为了测试小W的物理水平,Mr.X在二维坐标系中放了N面镜子(镜子坐标绝对值不超过M),镜子均与坐标轴成45°角,所以一共有两种类型“/”和“\”。原点不会有镜子,任意一点最多只有一面镜子。 镜子两个面都能反光,而中间不透光,例如,对于一个“/”型镜子,下方向射入的光线会被反射到右方向,左方向射入的光线会被反射到上方向。 现在有一条光线从原点沿X轴正方向射出,求走过T路程后所

2016-10-29 16:55:36 721

原创 【CodeForce 710E】Generate a String

Description 抽象题意:给出n(目标字符串有n个‘a’),x(增加或删除一个‘a’需要多少秒),y(复制并粘贴当前的字符串需要多少秒) 求用最少的时间,生成n个‘a’;zscoder wants to generate an input file for some programming competition problem.His input is a string con

2016-10-28 19:44:24 575

原创 【NOI2005】【JZOJ 2413】【BZOJ 1500】维护数列

Description请写一个程序,要求维护一个数列,支持以下6种操作:(请注意,格式栏中的下划线‘ _ ’表示实际输入文件中的空格)   1. 插入 INSERT_posi_tot_c1_c2_…_ctot 在当前数列的第posi个数字后插入tot个数字:c1, c2, …, ctot;若在数列首插入,则posi为0   2. 删除 DELETE_posi_tot 从当前数列的第posi个数字

2016-10-26 19:43:51 482

原创 【UOJ 245】【UER #7】天路

Description给出一个系列,要求出所有长度为k(1<k<=n)(1<k<=n)的序列中,最大值减去最小值的最小值,要求输出答案与正确答案相对误差均不超过 5%Solution听CTY说这题一眼看去要用近似算法,我不会(实际上也不用)。 因为答案有一定的浮动,所有考虑一下从答案入手, 枚举k,表示当前做到绝对值差为k,再O(n)扫一遍,即可知道适用k的区间最长是多少,更新答案。

2016-10-26 18:57:15 848

原创 【UOJ 246】【UER #7】套路

Description给出n个数(<=n),设S(i,j)S(i,j)为i到j之间的两两数的绝对值最小值,求S(l,r)∗(r−l)S(l,r)*(r-l)(r-l+1>=k)的最大值。Solution设K为选K个数, 先想一下枚举K怎么做,很显然要先求出S, 设f[i][j]为做到第i个,往前选j个,有DP:fi,j=min(fi−1,j−1,fi,j−1,|ai−ai−j+1|)f_{i,j

2016-10-26 14:15:13 657

原创 【UOJ 244】【UER #7】短路

Description给出一个有n层的靶形正方形,每一层的代价相同(>0),只能往上下左右走,求从左上角走到右下角的代价最小,下图为n=5的情况: Solution想一下,有一个结论:线路一定是先走到某层的左上角,绕一圈后,再以与之前相反的路走,到右下角(对称), 所以,我们只要求出从左上角出发,计算到每层的左上角的代价即可, 因为每一层一定要走,所以尽量在小的地方多走,用一个前缀和加前缀最大

2016-10-19 20:38:27 621

原创 【JZOJ 4816】label

Solution这道题O(nm)的暴力显然把,只要DP加一个前缀和即可, 打完以后发现,对于每个点,它的f数组开头和结尾是对称的,中间是一样的数。 现在我们来思考一下为什么: 把问题转换一下:如果问题是绝对值<=k,那么很显然,叶子节点全是1, 往上一层,开头的(k-1)个和结尾的(k-1)个有变化,并且对称(显然),中间的依旧相同, 再往上,就有2(k-1

2016-10-12 19:35:35 787

原创 2016.8~9月总结

现在已经10月份了…… 恍惚一脸.gif7月份的时候,是酱紫的:FIGHTING!!!是不是很劲!到了8月份,是酱紫的:颓颓颓颓颓颓颓颓颓颓…感觉整个人都没有动力了。 不过那个时候作比赛还是比较认真的,暴力、对拍都打。(头文件也不copy标) 但是(如无记错)一些奇怪的错误还是会犯的,具体是什么也不好说,一大堆小错误(还是这个问题),包括一些类似脑残的错误(这个很

2016-10-12 19:23:09 604

原创 【JZOJ 4807】破解

Solution很显然,在没有联通快的情况下,ans=2mans=2^m。 而有联通快的情况,很显然,联通快直接是互不影响的,所以我们一个一个联通快来搞, 对于一个联通快,有一个性质:其中的任意一个区间都可以被其他区间给代替。 所以,联通快内的方案数就是2m−12^{m-1}(m为区间个数), 所以答案就是2m−q2^{m-q}(q为联通快个数) 复杂度:O(m)O(

2016-10-10 19:58:59 558

原创 【JZOJ 4806】打工

Solution从高位往低位做,可以用一个很显然的DP方程:设f[i][j]表示做到第i位,有j种不同的分组,并且低于输入的有多少种。 转移显然:从上一位新增或者当前局限扩展;再把当前最大的扩展上去。复杂度:O(n2)

2016-10-10 19:31:37 628

原创 【JZOJ 4813】running

Description小胡同学是个热爱运动的好孩子。 每天晚上,小胡都会去操场上跑步,学校的操场可以看成一个由n 个格子排成的一个环形,格子按照顺时针顺序从0 到n 1 标号。 小胡观察到有m 个同学在跑步,最开始每个同学都在起点(即0 号格子),每个同学都有个步长ai,每跑一步,每个同学都会往顺时针方向前进ai 个格子。由于跑道是环形的,如果 一个同学站在n 1 这

2016-10-09 21:07:20 831

原创 【JZOJ 4814】tree

Description给一棵n 个结点的有根树,结点由1 到n 标号,根结点的标号为1。每个结点上有一个物品,第i 个结点上的物品价值为vi。 你需要从所有结点中选出若干个结点,使得对于任意一个被选中的结点,其到根的路径上所有的点都被选中,并且选中结点的个数不能超过给定的上限lim。在此前提下,你需要最大化选中结点上物品的价值之和。 求这个最大的价值之和。Solution一

2016-10-06 22:32:53 535

原创 【JZOJ 4812】string

Description给出一个长度为n, 由小写英文字母组成的字符串S, 求在所有由小写英文字母组成且长度为n 且恰好有k 位与S 不同的字符串中,给定字符串T 按照字典序排在第几位。 由于答案可能很大,模10^9 + 7 输出。Solution求T的排名就是求有多少个比他小并且符合要求再+1; 像数位DP一样的方法做即可, 从高位到低位做, 设做到i位,之前位的都与T的一

2016-10-06 22:14:29 611

原创 【NOIP2016提高A组五校联考1】总结

又是下午比赛,感觉不妙…打开OJ,突然发现是五校联考耶!一脸惊恐.jpg看看T1,好像可搞仔细一想,咦,直接二分就可以了,应该可以碾过去, T2:看起来可以搞,应该是有规律的。 T3:咦这不是树链剖分吗!!?? 嗯…继续想T2,想了一大堆。(就是没有想一下第一行和第二行的关系) 还剩不到1H,不管了,先匆匆打了个T1。继续想, 结果….. 爆炸啦!!!! 只有50分啊!!!!!!

2016-10-06 21:53:54 390

原创 【JZOJ 4809】挖金矿

Solution可以二分答案,再把每个数减去二分出来的值,看看每列的最大前缀值加起来是否大于0即可。复杂度:O(log(109)∗hn)O(\log(10^9)*hn)Code#include<cstdio>#include<cstdlib>#define fo(i,a,b) for(int i=a;i<=b;i++)using namespace std;typede

2016-10-06 16:19:12 965

原创 【JZOJ 4810】道路规划

Solution如果两个点的连线相交,肯定是一个交叉形的;如果再多,我们就会发现,如果有一堆连线是相交的,那么它们的第一行的顺序和第二行的顺序一定是相反的。 有了这个性质,这个问题很显然就变成了最长下降子序列,数组的值为第一行的值对应在第二行的位置。复杂度:O(nlog(n))O(n\log(n))Code#include<cstdio>#include<cstring>

2016-10-05 19:24:04 569

原创 【JZOJ 4811】排队

Description对于第一问,先给每个点一个优先值,很显然每个点的优先值都是一定的,每次一定选优先值最大的点,然后删掉。这个可以用堆(C++有优先队列)来实现, 对于第二问,很显然删除当前点后,移动的点一定是连续的,所以直接用LCA跳即可,复杂度:O(nlog(n))O(n\log(n))

2016-10-05 16:36:06 529

MathJax basic tutorial and quick reference - Mathematics Meta Stack Exchange

markdown的各种用法,希望对大家有用

2016-07-04

空空如也

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

TA关注的人

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