上一页 1 ··· 5 6 7 8 9 10 11 下一页
摘要: 比赛链接 T1 思路 按照斐波那契的式子到着往前推就行,f[i]=f[i+2] f[i+1],当找到某个值使得f[i] = 0,f[i+1] = 1的时候就停止。 代码 cpp //https://www.luogu.org/problemnew/show/P4994 include include 阅读全文
posted @ 2018-11-04 20:33 wxyww 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 题面 T1 思路 因为0的个数超过了一半,所以只要将拍完序后,最中间的数到想得到的中位数之间的每个数都变成S即可。 代码 cpp include include include include include include using namespace std; typedef long lon 阅读全文
posted @ 2018-11-03 16:00 wxyww 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 题面 T1 思路 就是先dfs一遍这棵树,先访问根节点,然后访问右孩子,然后左孩子。最后找出这个序列的最长上升子序列 然后一不小心,把第37行的ans写成了a,瞬间爆零 代码 cpp include include include include include include include us 阅读全文
posted @ 2018-11-02 17:09 wxyww 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 题目链接 思路 考虑用单调栈,栈顶为最大元素。当得到一个新值得时候,将这个值宇栈顶比较。因为栈顶是前面的最大元素。所以只要当前元素比栈顶大,那么肯定比前面的都大。只要将这个元素乘上前面的个数就行了。 然后考虑对于像5,4这样的情况应该怎么办。因为4比5小,所以当前四的贡献就是将前面的每个值都加上一遍 阅读全文
posted @ 2018-11-02 15:04 wxyww 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 题面 T1 思路 裸地等比数列求和。~~然而考试的时候并不会~~。学会了一种很nb的等比数列求和的方法。 假如我们要求$\sum\limits_{i = 1}^n{x^i}$,那么我们设$P=\sum\limits_{i = 1}^n{x^i}$,容易发现,P的x进制表示就是1111....111, 阅读全文
posted @ 2018-11-01 17:56 wxyww 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 题面 T1 思路 乍一看上去似乎是个签到题。然而分数低的可怜。以为小写字母的ASCII码会比100小,开个100的数组足够了。结果忘了'a'就已经是96了。凉凉 题目有一个坑点就是,如果知道了25个字母所对应的字母,那么另外一个也是可以推出来的。 代码 cpp include include inc 阅读全文
posted @ 2018-10-31 19:24 wxyww 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 题目链接 思路 这个首先想到质因数分解。然后发现只要对于每个质数将ans乘以这个质数在从1到n中出现过的最高指数次就行了。 这个$10^8$令人发指。一直tle,最后发现吸口氧才能过。。 代码 cpp include include include define fi(s) freopen(s,"r 阅读全文
posted @ 2018-10-31 10:44 wxyww 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 题目链接 思路 这个题可以考虑用全部情况减去不合法的情况,来求解。首先需要知道n个点所组成的图总共有$C(_n^2)$种,然后用f[n]表示n个点的图联通的方案数。 然后钦定1在联通图里面,考虑不合法的情况。让j个点联通,其他点可以任意连边,这样就可以保证这张图是不连通的。 所以f数组的转移就是 $ 阅读全文
posted @ 2018-10-31 08:18 wxyww 阅读(206) 评论(0) 推荐(1) 编辑
摘要: 题面 思路 先假设我们已经知道了操作顺序,考虑如何求出时间。用f[i][j]表示前i个物品,第i个加工完了第j台机器所需要的最少的时间。转移的时候就是f[i][j] = max(f[i 1][j],f[i][j 1] + a[i][j]) a[i][j]表示第i个物品加工第j台机器所需要的时间。 然 阅读全文
posted @ 2018-10-30 21:43 wxyww 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 题目链接 思路 这个题和上个题类似,仔细推一下就知道这个题是判断是否是4的倍数 代码 cpp include include define fi(s) freopen(s,"r",stdin); define fo(s) freopen(s,"w",stdout); using namespace 阅读全文
posted @ 2018-10-30 18:02 wxyww 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 题目链接 思路 这个题思路挺巧妙的。 情况一: 首先如果这堆石子的数量是1~5,那么肯定是先手赢。因为先手可以直接拿走这些石子。如果石子数量恰好是6,那么肯定是后手赢。因为先手无论怎样拿也无法直接拿走六个石子。 情况二: 考虑继续推广,如果石子数是7~11,那么先手也能赢。因为先手可以先拿成6,然后 阅读全文
posted @ 2018-10-30 17:43 wxyww 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 题目链接 思路 首先,因为这是曼哈顿距离,所以很容易就可以将这三个点之间的距离转化为一个矩形,那么这三个点在矩形上的分布只有六种可能。 假设当前矩形的长为n,宽为m。那么可以发现,无论是哪一种情况,这三个点在这个矩形里的摆放方案都是(n 2) ( m 2) 。并且这些摆放方案与这个矩形的位置无关,所 阅读全文
posted @ 2018-10-30 14:21 wxyww 阅读(325) 评论(0) 推荐(0) 编辑
摘要: "题目" T1 "hdu5881" 思路 看到样例和数据范围就明白了些什么。(b a)/2 + 1。但是需要$特判!!!!$ 代码 cpp include include using namespace std; typedef long long ll; ll read() { ll x = 0, 阅读全文
posted @ 2018-10-27 07:34 wxyww 阅读(163) 评论(0) 推荐(0) 编辑
摘要: "题目" T1 思路 直接模拟每一秒发生的变化并且用优先队列优化一下,可以拿到80分。然后发现中间一些时间什么事情都没有干。所以可以直接跳过那些无贡献的时间。时间复杂度为$O(mlogn)$ 代码 cpp include include include include define pi pair 阅读全文
posted @ 2018-10-25 17:34 wxyww 阅读(155) 评论(0) 推荐(1) 编辑
摘要: T1 思路 只要会sort就能a 代码 T3 心路历程 为什么这个题没有思路而是心路历程?~~因为不会啊啊~~ 真的不知道该怎么吐槽这个题了。先是发一个假的大样例,导致改暴力改了1h,然后说重新发样例,结果把第四个数据给发下来了。~~然后我并不知道这是数据~~。然后看见我的暴力re了。还以为要离散化 阅读全文
posted @ 2018-10-24 21:50 wxyww 阅读(211) 评论(1) 推荐(0) 编辑
摘要: "题目" T1 思路 trie,AC自动机,hash都可做。良心出题人 代码 总结 期望得分: 100 + 20 + 100 = 220 实际得分: 100 + 0 + 100 = 200 t1trie的空间算错了RE了一个点。trie的空间是N L L,n是字符串的个数,L是最长字符串的长度。最后 阅读全文
posted @ 2018-10-24 18:08 wxyww 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 题目链接 思路 首先可以看出来每个月新增的兔子构成的斐波那契数列。然后每代兔子都可以用斐波那契数列中的一个数来表示。所以对于每只兔子都能在斐波那契数列中找到他所属的一个位置。因为每个兔子都是在两个月之后才开始产下新兔子,所以每个兔子的父亲都是在他所属的斐波那契数前面的前面那一项中。又因为题目中说同一 阅读全文
posted @ 2018-10-22 10:49 wxyww 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 题目链接 思路 首先,如果没人说谎那么序列中肯定只有一大一小两种数,假设大的数为x,小的数为y。因为对于每个人只有两种情况,要么自己与除自己外的某个人拥有相同的颜色,此时总颜色数就是这个人所能看到的颜色数量。要么这个人单独拥有一种颜色,此时总颜色数就是这个人所能看到的数量+1。所以x和y相差一定小于 阅读全文
posted @ 2018-10-20 07:57 wxyww 阅读(316) 评论(0) 推荐(0) 编辑
摘要: 题目链接 思路 真板子题。割点是指在一个无向图中,删去之后图将不再连通的点。可以用tarjan算法求。根据割点有两种情况,一种是根,一种是非根。如果不是根的就去判断在tarjan的时候当前节点所能到的最靠上的点。如果最靠上的点在当前点的下面,那么当前点就是割点,否则不是。对于是根的点。只要判断是不是 阅读全文
posted @ 2018-10-18 21:43 wxyww 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 题目 T1 思路 统计每列有多少个1。如果$sum[0]\geqslant sum[1]$,那么ans的这一位为0,否则为1。 预计得分:100 实际得分:100 代码 T2 20分思路 首先,分析一下题目,其实R和G的数据范围是假的。因为这个题可以转化为将这个序列分为R+G段,其中小于L的段必须大 阅读全文
posted @ 2018-10-17 19:48 wxyww 阅读(314) 评论(1) 推荐(0) 编辑
摘要: 题目 思路 这个题目看了很久没有思路,旁边的大(S)佬(B)不到十分钟就秒了。知道正解之后感觉自己太菜了。 首先题目意思就是,要找到两个数,使得这两个数中所有的数码都是对应的。也就是x的数码中如果有1,2,3那么y中也必须有1,2,3对个数不做限制。那么就用一个数来表示一些数码组合。比如说123,那 阅读全文
posted @ 2018-10-17 06:48 wxyww 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 题目 思路 全都是位运算,考虑按照二进制拆分进行dp。f[i][j]表示前i个数,二进制的第j位为1的概率。对于为0的概率,直接用(1 f[i][j])即可。 然后就是转移,其实这个题转移蛮好想的,只要一点一点慢慢推就可以了。 竟然用cin读入了100000个double。。。t飞了 PS:注意题目 阅读全文
posted @ 2018-10-16 16:30 wxyww 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 题目 关于某种密码有如下描述:某种密码的原文A是由N个数字组成,而密文B是一个长度为N的01数串,原文和密文的关联在于一个钥匙码KEY。若$KEY=\sum\limits_{i=1}^n{[A_i B_i]}$,则密文就是原文的一组合法密码。 现在有原文和钥匙码,请编一个程序来帮助他统计到底有多少个 阅读全文
posted @ 2018-10-16 16:19 wxyww 阅读(217) 评论(0) 推荐(0) 编辑
摘要: prufer序列 每个prufer序列对应一棵唯一的树。 生成:得到一棵树的prufer序列的方法是依次去掉编号最小的叶子节点(也就是度数为1的点),然后将这个点的父亲加入队列。直到剩下最后两个点。这样就可以得到一个长度为n的prufer序列。 根据prufer序列的生成方式可以得到:每个节点会在p 阅读全文
posted @ 2018-10-15 14:30 wxyww 阅读(509) 评论(0) 推荐(0) 编辑
摘要: luogu1341 思路 欧拉回路和欧拉路的裸题,首先判断是否存在欧拉路或者欧拉回路。当且仅当途中每个点的度数都为偶数时,存在欧拉回路。当且仅当图中度数为奇数的点的个数为2时,存在欧拉路。如果存在欧拉回路,就可以找一个最小的点开始dfs。如果存在欧拉路,那就只能从度数为奇数的两个点中更小的那个开始d 阅读全文
posted @ 2018-10-14 17:59 wxyww 阅读(283) 评论(0) 推荐(0) 编辑
摘要: 题目链接 思路 首先可以通过二分图染色找到奇环和一部分偶环。这个比较简单 但是还有一种偶环容易忽略。 如图(别问我为啥没节点4) 第一次可以找到1 2 3 1)这个奇环,第二次可以找到(3 5 6 3)这个奇环。但是(1 2 3 5 6 3 1)这个偶数环就被忽略了。 再一种情况 如图,我们可以找到 阅读全文
posted @ 2018-10-13 18:04 wxyww 阅读(377) 评论(0) 推荐(1) 编辑
摘要: "bzoj1563" 思路 首先考虑$n^2$的暴力dp,用sum[i]表示前i句话的长度总和。f[i]表示前i句话最小的不协调度之和。转移的时候考虑枚举前面的每个点,找到转移的最优秀的那个点。 然后优化这个暴力。用一个队列存下当前个点之后的点中,哪个区间是从当前点转移更优秀(称为这个点的控制范围) 阅读全文
posted @ 2018-10-12 10:10 wxyww 阅读(245) 评论(0) 推荐(0) 编辑
摘要: luogu3197 思路 看了很久没思路,看了题解发现自己好zz。用全部的情况减去不合法的情况就行了。全部的情况就是每个人随便选,总共有$m^n$种情况,然后考虑不合法的情况,也就是任意相邻的两个人不能信仰同一宗教,第一个人有m个宗教可以选,后面的每个人因为都不能和前面那个人相同,所以后面的每个人有 阅读全文
posted @ 2018-10-11 19:51 wxyww 阅读(152) 评论(0) 推荐(0) 编辑
摘要: luogu1665 思路 一道第二类斯特兰数的模板题。只不过需要写个高精。 f[i][j]表示前i个球放到j个盒子里的方案数。第i个球可以单独一个盒子,所以f[i][j]+=f[i 1][j 1]。还可以与前面的放到同一个盒子里,所以f[i][j]+=f[i 1][j] j 代码 阅读全文
posted @ 2018-10-11 19:11 wxyww 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 基础 $C(^n_m)$表示从n个东西中选m个的方案数 $C(^n_m)=\frac{n!}{m!(n-m)!}$ 多项式系数 $(a+b)^n=\sum\limits_{i=0}^n{(^n_i)a^ib^{n-i}}$ 一些知识 $\sum\limits_{i=0}^n(^n_i)=2^n$其实 阅读全文
posted @ 2018-10-11 15:20 wxyww 阅读(358) 评论(0) 推荐(1) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 下一页