随笔分类 -  ACM/算法/数据结构

1 2 3 4 5 ··· 9 下一页
摘要:(本文不涉及取模运算……) 快速幂,顾名思义,就是快速地求幂运算。 现在要求x=yn的值,最朴素的解法: x=pow(y,n) 复杂度是O(n) 当n是偶数的时候,我们设n=2*m,则x=yn=y2*m=(ym)^2 当n是奇数的时候,我们设n=2*m+1,则x=yn=y2*m+1=y*(ym)^2 阅读全文
posted @ 2017-08-23 00:51 我不吃饼干呀 阅读(287) 评论(0) 推荐(0) 编辑
摘要:第一题,给二叉树的先序遍历和中序遍历,求层序遍历。 这个。。。大二做的。。。 根据先序和中序的性质,先序第一个节点一定是根,在中序中找到根的位置,左边的就是左子树,右边的就是右子树,递归就好。 递归建好树 层先遍历需要通过队列实现。 #include <bits/stdc++.h> using na 阅读全文
posted @ 2017-04-02 12:37 我不吃饼干呀 阅读(1155) 评论(0) 推荐(0) 编辑
摘要:首先想到的是用Set保证不重复,如果重复就重新生成随机数。。 但是这样可能复杂度会很高,不稳定。 面试官问还有什么办法的时候,我真是毫无头绪。 一面试就智商下线 //说的好像平时在线是的 QAQ 查了下题解:生成N个不相等的随机数 第一个方法是我写的暴力 T^T 第二个就是用一个数组记录还未用到的数 阅读全文
posted @ 2017-03-28 18:51 我不吃饼干呀 阅读(1503) 评论(0) 推荐(0) 编辑
摘要:题意:有m个石头围成一圈,编号分别为0到m-1,现在有n只青蛙,都在0号石头上,第i只青蛙会从当前编号为p的石头跳到编号为(p+ai)%m的石头上。被青蛙经过的石头都会被占领,求这m块石头中所有被占领过的石头的编号和。 题解:对于第i只青蛙,它所能跳到的最小的位置是gcd(ai, m) 设最小位置为 阅读全文
posted @ 2016-10-15 14:09 我不吃饼干呀 阅读(870) 评论(2) 推荐(0) 编辑
摘要:题意:给N个互不相同的数,选择出两两互质或者两两不互质的三个数,有多少种选法。 题解:一共有C(N,3)中选择方式,减去不符合要求的,剩下的就是答案。 详见 http://blog.csdn.net/csuhoward/article/details/44978087 看到有的题解说是同色三角形,感 阅读全文
posted @ 2016-10-14 22:09 我不吃饼干呀 阅读(466) 评论(0) 推荐(0) 编辑
摘要:hdu4135 求[L,R]范围内与N互质的数的个数。 分别求[1,L]和[1,R]和n互质的个数,求差。 利用容斥原理求解。 二进制枚举每一种质数的组合,奇加偶减。 Codeforces 547C Mike and Foam 差不多啦 求新加入的数和已经存在的数有多少是不互质的。 阅读全文
posted @ 2016-10-14 14:21 我不吃饼干呀 阅读(412) 评论(0) 推荐(0) 编辑
摘要:题意 根据图中公式由A[]构造B[][],现在给你B,问你存不存在一个数组A使之成立。 题解:对于每一位进行2-sat求解。 比赛半个小时时间,没做出来…… 一直T。 因为本身对算法不确定,所以也不知道怎么办 赛后才发现是数组开小了、、、、 真坑啊。。。 阅读全文
posted @ 2016-10-13 22:19 我不吃饼干呀 阅读(301) 评论(0) 推荐(0) 编辑
摘要:转自:http://blog.csdn.net/sdj222555/article/details/10828607 大意就是给出一个矩阵 初始每个位置上的值都为0 然后有两种操作 一种是更改某个位置上的值 另一个是求某个位置附近曼哈顿距离不大于K的所有位置的值的总和 然后这里用了一个非常牛叉的技巧 阅读全文
posted @ 2016-10-13 10:49 我不吃饼干呀 阅读(453) 评论(0) 推荐(0) 编辑
摘要:题意: 给一串数字,每个数字的位置是这个数第一次出现的位置。 每个询问对于序列的一个子区间,设一共有k个不同的数,求第ceil(k/2)个数的位置。 因为强制在线,所以离线乱搞pass掉。 主席树可解。 考虑一个数列: p 1 2 3 4 5 6 // 原序列标号 a : 1 2 1 2 3 4 / 阅读全文
posted @ 2016-10-11 23:45 我不吃饼干呀 阅读(408) 评论(0) 推荐(0) 编辑
摘要:题目就是给你一个图,图中部分边没有赋权值,要求你把无权的边赋值,使得s->t的最短路为l。 卡了几周的题了,最后还是经群主大大指点……做出来的…… 思路就是跑最短路,然后改权值为最短路和L的差值,直到最短路为L,或者每条无权边都赋值为止。 点是0~n-1的,因为这个错了好几次= = dijkstra 阅读全文
posted @ 2016-10-07 13:29 我不吃饼干呀 阅读(248) 评论(0) 推荐(0) 编辑
摘要:A - The New Year: Meeting Friends 水 B - Text Document Analysis 字符串暴力模拟,感觉还是需要一点技巧的,我写的太慢了。 C - Polycarp at the Radio 应该也是sb暴力题,map乱搞的(队友写的== D - Lakes 阅读全文
posted @ 2016-10-05 11:59 我不吃饼干呀 阅读(235) 评论(0) 推荐(0) 编辑
摘要:主席树是可持久化线段树,可以记录线段树的历史版本。 代码中和线段树不同的是,l,r记录的是左右子树编号,因为普通的线段树版本中,左右子树自然就是o<<1和o<<1|1,但是主席树中并不保证这个特性,所以需要记录一下。 代码是 阅读全文
posted @ 2016-10-04 21:11 我不吃饼干呀 阅读(837) 评论(0) 推荐(0) 编辑
摘要:偷偷抄bestcoser上面hnust_zhaozhixuan的代码 = = 因为题解看不懂阿 阅读全文
posted @ 2016-10-02 18:19 我不吃饼干呀 阅读(809) 评论(0) 推荐(0) 编辑
摘要:1A!!! 哈哈哈哈哈没看题解 没套模板哈哈哈哈 太感动了!! 如果只是线段树的话这道题倒是不难,只要记录左右边界就好了,类似很久以前做的hotel的题 但是树上相邻的段会有连续的 树上top[x]和fa[top[x]]是连续的,但是线段树上是算不到的,所以要判断下 线段树记录的是区间的数量,但是求 阅读全文
posted @ 2016-10-02 15:11 我不吃饼干呀 阅读(295) 评论(2) 推荐(0) 编辑
摘要:两个更新操作,一个将第i条路径权值改为w,一个是将a-b之间所有路径权值取反。 一个查询操作,求a-b之间路径中权值最大的边。 很容易想到维护一个最大最小值,取反就是把最大最小取反交换一下。 开始遇到一个问题就是我把根节点赋值0,上一道题求和没问题,但是这道题会出问题,于是线段树建树的时候从2开始建 阅读全文
posted @ 2016-10-01 15:51 我不吃饼干呀 阅读(450) 评论(0) 推荐(0) 编辑
摘要:也是入门题,和上一题不一样的是权值在边上。 调了半天后来发现线段树写错了,build的时候没有pushup。。。蠢哭了好吗。。。。 做题还是不专心,太慢辣。。 阅读全文
posted @ 2016-09-30 14:44 我不吃饼干呀 阅读(428) 评论(0) 推荐(0) 编辑
摘要:第一道树链剖分。 早就想学。。一直懒。。 感觉还是比较简单的。 主要是要套其他数据结构,线段树大概还好,平衡树之类的肯定就跪了。 http://blog.csdn.net/acdreamers/article/details/10591443 这篇博客写的真的超级棒 简单明了 感觉树链剖分的难点就是 阅读全文
posted @ 2016-09-22 19:46 我不吃饼干呀 阅读(247) 评论(0) 推荐(0) 编辑
摘要:题意:John有n个牛棚,每个牛棚都住着一些牛,这些牛喜欢串门(drop around, 学到了。。。),所以John想要建几条路把他们连接起来。他选择的方法是建两个相连中转站,然后每个牛棚连接其中一个中转站就好啦。现在的问题是有一些牛相互憎恨,所以不能连同一个中转站,而又有一些牛相互喜欢,必须连同 阅读全文
posted @ 2016-09-21 11:40 我不吃饼干呀 阅读(827) 评论(0) 推荐(0) 编辑
摘要:A,给一棵完全二叉树,第一个操作,给两个点,两点路径上的所有边权值都增加w,第二个操作,给两个点,求两点路径上的所有边权值和。 我看一眼题就觉得是树链剖分,而我又不会树链剖分,扔掉。 后来查了题解,首先数据范围是1e18不可能是树剖,其次完全二叉树啊!不是普通的树啊!!sb。。。 //我做过此题,没 阅读全文
posted @ 2016-09-21 09:52 我不吃饼干呀 阅读(301) 评论(0) 推荐(0) 编辑
摘要:题意:有m扇门,每个门上有两把锁,打开任意一个锁都可以打开这扇门。门要按顺序一个一个打开。 现在有n对不同的钥匙,每对钥匙只能用其中一个,问最多能打开多少门。 题解:对钥匙建图,门是限制条件来建边。每加一扇门就多一个限制条件,直到2-sat不满足为止。当然二分会更快一些。有一个trick就是门上的两 阅读全文
posted @ 2016-09-20 12:00 我不吃饼干呀 阅读(608) 评论(0) 推荐(0) 编辑

1 2 3 4 5 ··· 9 下一页