- 博客(56)
- 收藏
- 关注
原创 [CTSC2017]吉夫特
Click here to read the problem.令 N=log2(maxai)N=log2(maxai)N= log_2(max_{a_i}). 网上很多 3N3N3^N 的做法,不具体说了,大概就是dp[x]dp[x]dp[x]代表以xxx结尾的方案数.考虑分块,把数字二进制下分成前一段和后一段. 设f[u][v]=∑v∈x∗dp[u∗2N2+x]f[u][v]=∑v∈...
2018-06-30 21:28:15
369
原创 NOIp2017总结
NOIp2017 反思总结Day0白天看了下sh的语法和vimrc,去__debug的博客看了一些黑科技。 晚上睡的特别早。Day1起的比以往都早,感觉自己好勤快啊。老爸更早还买了早饭回来T1简直不敢相信自己的眼睛?几行完事简直不是T1风格。 考场上连公式都不信,硬要打表看看。#include <bits/stdc++.h>#define LL long longusing namespac
2017-11-23 23:41:02
568
原创 洛谷10月月赛R1·浴谷八连测R1·提高组 SAC E#1 - 一道中档题 Factorial
题意:求n!n!在kk进制下后缀00的个数。老夫掐指一算,竟然掐到std算法?
2017-10-07 21:24:09
619
原创 [HAOI2015]树上染色 [洛谷]3177
有一棵点数为 N 的树,树边有边权。给你一个在 0~ N 之内的正整数 K ,你要在这棵树中选择 K个点,将其染成黑色,并将其他 的N-K个点染成白色 。 将所有点染色后,你会获得黑点两两之间的距离加上白点两两之间的距离的和的受益。问受益最大值是多少。 N≤2000 N \le 2000
2017-09-20 21:47:47
689
原创 [USACO12FEB]Nearby Cows solution 题解 [洛谷3047]
给出一棵n个点的树,每个点上有C_i头牛,问每个点k步范围内各有多少头牛。
2017-08-18 21:47:59
423
原创 POJ2752 既是前缀也是后缀 KMP变形
给出一些字符串,求出字符串中所有既是前缀也是后缀的子串。 联想到KMP算法的next数组。这道题就可做了。 不多说,这整个字符串显然是满足条件的。 而且,对于任意一个满足条件的前缀,它最后一个字符肯定与整个字符串的最后一个字符相同。假设现在有位置k使[1,k][1,k]满足条件,那么显然[1,nextk][1,next_k]仍然满足条件,并且,由于next[]是最长的公共前后缀,所以不
2017-04-05 22:40:51
727
原创 莫队算法——解决序列上询问的利器 (2) 带修改的莫队
普通的莫队戳这里。 还是考虑类似的问题:有一个长为N序列,有M个操作:1.询问:在区间[L,R]内,出现了多少个不同的数字。2.修改,将第x个数改为v(序列中所有数字均小于K)。题目会给出K。 做法其实是类似的,只是要考虑更新的问题。 有一种值得思考的做法:首先离线下所有的修改操作。对于某一次询问[L,R], 先假设没有任何修改,算出答案来。再考虑所有在这次询问之前的修改操作,如果修改
2017-03-28 22:04:15
780
原创 可持久化线段树——Step 1 静态区间第K大
考虑这样一个问题: 给出一段长度为n序列{ai}\{a_i\},对于一些询问{L,R,K}\{ L, R, K\}请输出序列上[L,R][L,R]内第K大的数。关于暴力做法,其实是很简单的,但是会超时,在此略过。有一种办法,是利用前缀和的思想。先将{ai}\{a_i\}离散到区间[1,n][1,n],然后,对于任意节点ii,都建立一棵权值线段树,代表离散后{a1,…ai}\{a_1,…a_i\}
2017-03-17 16:49:02
1329
原创 差分约束系统
差分约束系统,就是对于一段序列{x[i]},存在一些条件,例如xi−xj≥bk,求是否存在符合条件的区间。 其实这和图论有着很大的关系 考虑最短路中的松弛:if ( d[u] > d[x] + w[i] ) d[u] = d[x] + w[i] ;很巧的是,我们的约束不正好可以变成a>b+c的形式吗? 于是,对于约束条件xi−xj≥b,正好可以看做从点j往点i添加了一条权值为b的边。
2017-02-26 10:14:09
419
原创 POJ 2828 Buy Tickets ( Splay tree && Segment tree )
DescriptionRailway tickets were difficult to buy around the Lunar New Year in China, so we must get up early and join a long queue…The Lunar New Year was approaching, but unluckily the Little Cat still
2017-02-26 10:04:30
491
原创 莫队算法——解决序列上询问的利器
问题: 有一个长为N序列,有M个询问:在区间[L,R]内,出现了多少个不同的数字。(序列中所有数字均小于K)。题目会给出K。莫队算法就是滋磁解决这类问题的离线算法。(其实很简单)首先来看看暴力: 由于暴力还是比较水的,所以直接上:#include <bits/stdc++.h>using namespace std ;const int maxn = 50010 ;int n, m, a[
2017-02-06 21:21:17
1069
原创 筛法计算欧拉函数
先给出算单个欧拉函数的链接。 大致方法其实和筛质数是类似的,其实,考虑到欧拉函数的定义,它和质数其实是关系甚紧的。需要用到如下性质(p为质数):1. phi(p)=p-1 因为质数p除了1以外的因数只有p,故1至p的整数只有p与p不互质2. 如果i mod p = 0, 那么phi(i * p)=p * phi(i) ;若整数n与i互质,n+i与i依然互质3.若i mod p ≠0, 那么
2016-12-04 11:29:27
535
原创 【NOI2014】起床困难综合症 解题报告
先说一下这道题对于我的历史意义:这是我做出的第一道NOI的题目,而且,全程是自己思考,没有看别人的程序或者想法。题目描述21 世纪,许多人得了一种奇怪的病:起床困难综合症,其临床表现为:起床难,起床后精神不佳。作为一名青春阳光好少年,atm 一直坚持与起床困难综合症作斗争。通过研究相关文献,他找到了该病的发病原因:在深邃的太平洋海底中,出现了一条名为 drd 的巨龙,它掌握着睡眠之精髓,能随意延长大
2016-11-27 21:49:25
1965
原创 NOIp2016 联赛总结——新手上路请多关照
NOIp2016参赛总结反思我是一个刚上路的新司机啦~ ——GoAway 2016年11月25日于长沙市雅礼中学简要目录:心理历程简要的解题过程成功之处失误与不足未来计划后记心理历程人生第一次参加这么正经的竞赛,还是第一次了,虽说以前也是参加过各种的(数学)竞赛的,但是那都是很久之前了,心情也是不一样的,以前仅仅是玩玩的心态,而现在是正经的了。以前没有经过准备,而现在是经过了接近半
2016-11-25 21:57:55
716
原创 NOIP算法总结——关于简单 线性动态规划
动态规划,显然是一个很让人头疼的地方,也没有个固定的算法,最多就是有一些模板(比如背包啊),要是想要增大做出来的机率,也就只好多做做题找找感觉了~线性动态规划可以说是DP中最简单的类型了,当然里面很多也是不容易的题目,也是需要一点技巧了。搞了好几天了,现在就来总结一下。一、算法的选取,动态维护。例题1:最大子段和题目描述给出一段序列,选出其中连续且非空的一段使得这段和最大。输入输出格式输入格式:输入
2016-10-27 22:13:32
3427
原创 洛谷 P1282 多米诺骨牌 动态规划
P1282 多米诺骨牌题目描述多米诺骨牌有上下2个方块组成,每个方块中有1~6个点。现有排成行的上方块中点数之和记为S1,下方块中点数之和记为S2,它们的差为|S1-S2|。例如在图8-1中,S1=6+1+1+1=9,S2=1+5+3+2=11,|S1-S2|=2。每个多米诺骨牌可以旋转180°,使得上下两个方块互换位置。编程用最少的旋转次数使多米诺骨牌上下2行点数之差达到最小。对于图中的例子,只要
2016-10-24 20:27:29
2956
原创 POJ 3621 最优比率生成环 二分求解
Sightseeing CowsTime Limit: 1000MS Memory Limit: 65536KB 64bit IO Format: %lld & %lluSubmit StatusDescriptionFarmer John has decided to reward his cows for their hard work by taking them on
2016-10-18 20:13:14
545
原创 POJ 3613 Cow Relays k步最短路 二分优化
Cow RelaysTime Limit: 1000MS Memory Limit: 65536K Total Submissions: 7003 Accepted: 2757DescriptionFor their physical fitness program, N (2 ≤ N ≤ 1,000,000) cows have decided to run a relay r
2016-10-17 21:27:18
465
原创 POJ 3463 && HDU 1688 Sightseeing 次短路
这道题就是给出有向图和起点s重点t,求出s到t的次短路个数+最短路个数,注意,次短路总和如果比最短路总和+1要大的话,就只要算最短路个数。由于不难, 所以直接上代码。#include <iostream>#include <cstdio>#include <queue>using namespace std ;const int maxn = 1010, maxm = 10010 ;con
2016-10-15 22:14:15
597
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人