上一页 1 ··· 14 15 16 17 18
摘要: 题意:就是求从1到n间,1~9一共出现的次数 这道题直接暴力是不科学的,因为N有 1e9; 然后我就看到了一个很好的从贡献思考的方法; ——>转自洛谷学神的方法: 楼下dalao都是数学方法和数位dp,看的本蒟蒻心慌慌 如果对高级方法难以理解的话,这里提供一种简单方法,虽然效率比dalao们差很多, 阅读全文
posted @ 2018-02-09 20:43 ckxkexing 阅读(239) 评论(0) 推荐(0) 编辑
摘要: Magic Forest 题意:就是在1 ~ n中找三个值,满足三角形的要求,同时三个数的异或运算还要为0; , where denotes the bitwise xor of integers x and y. 我已开始没想到a^b^c=0相当于c = a^b; 这样的转化就可以是三次的变成二次 阅读全文
posted @ 2018-02-08 14:52 ckxkexing 阅读(109) 评论(0) 推荐(0) 编辑
摘要: codeforces-214(Div. 2)-C. Dima and Salad 题意:有不同的沙拉,对应不同的颜值和卡路里,现在要求取出总颜值尽可能高的沙拉,同时要满足 解法:首先要把除法变成乘法,就是每次把读进来的b[ i ] 乘以 K; 因为对于a [ i ] - b[ i ] * k有两种不 阅读全文
posted @ 2018-02-07 16:38 ckxkexing 阅读(159) 评论(0) 推荐(0) 编辑
摘要: Power Strings 题意:给一个字符串S长度不超过10^6,求最大的n使得S由n个相同的字符串a连接而成,如:"ababab"则由n=3个"ab"连接而成,"aaaa"由n=4个"a"连接而成,"abcd"则由n=1个"abcd"连接而成。定理:假设S的长度为len,则S存在循环子串,当且仅 阅读全文
posted @ 2018-02-06 22:05 ckxkexing 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 这道题一开始觉得是并查集,稳了;wa 才想起来有两个重要条件 1、完全独立的点不算; 2、把点连起来的边(路)不能重复走:就是要判断欧拉回路,即每个点的度数是不是偶数; 遍历每个点,把度数为奇数的点的父节点对应的计数器加1; 最后把非独立父节点的计数器加起来:1、计数器为零的加1就可以2、非零的要除 阅读全文
posted @ 2018-02-06 20:47 ckxkexing 阅读(110) 评论(0) 推荐(0) 编辑
摘要: Watchcow 这道题的题意好理解,就是要从1出发,每条边都走两遍,最后再回到1; 但是,我一开始没有想到和欧拉回路有什么关系; 学了求欧拉的dfs()后,试了一下发现和样例差不多; 感觉求回路,什么走两边可能都要用这样的dfs; 这道题还有一个注意点,就是不能直接开bool vis [10007 阅读全文
posted @ 2018-02-06 20:01 ckxkexing 阅读(99) 评论(0) 推荐(0) 编辑
摘要: HDU-3478Catch 题意: 考虑Thief能否; 由于我推着推着就想到必须要三点可以互通,和二分图的结论正好相反,所以就试了一发, 真没想到thief的初始位置是不用考虑的。 下面是ac代码: #include <bits/stdc++.h> using namespace std; int 阅读全文
posted @ 2018-02-05 20:16 ckxkexing 阅读(84) 评论(0) 推荐(0) 编辑
摘要: HDU-4857 题意就是做一个符合条件的排序,用到拓扑序列。 我一开始wa了多发,才发现有几个样例过不了,发现1->2->3...的顺序无法保证。 后来就想用并查集强连,还是wa; 后来发现发用反向拓扑排序+优先队列才可以通过; 这里注意把入度为0的入队改成了出度为0的入队 下面是AC代码: 阅读全文
posted @ 2018-02-05 20:15 ckxkexing 阅读(97) 评论(0) 推荐(0) 编辑
摘要: /* pku3461(Oulipo), hdu1711(Number Sequence) 这个模板 字符串是从0开始的 Next数组是从1开始的 */ #include #include using namespace std; const int N = 1000002; int next[N]; char S[N], T[N]; int slen, tlen; void getN... 阅读全文
posted @ 2018-02-05 10:16 ckxkexing 阅读(95) 评论(0) 推荐(0) 编辑
摘要: #include #include #include #include using namespace std; const int MAXN = 505; vector Graph[MAXN]; int TopNum[MAXN], NodeNum[MAXN];; int NumVertex, NumEdge; // 有向无环图一定存在拓扑... 阅读全文
posted @ 2018-02-04 09:24 ckxkexing 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 题意:给一张图,判断是不是二分图; 自己一开始不知道是二分图染色,理解的是任意三点不能互相连接 可能以后遇到这样的模型,可以往二分图想; 首先怎么判定一个图是否为二分图 从其中一个定点开始,将跟它邻接的点染成与其不同的颜色,最后如果邻接的点有相同颜色,则说明不是二分图; 每次用bfs遍历即可; 下面 阅读全文
posted @ 2018-02-03 19:47 ckxkexing 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 题意 给你一个1~n的排列。 并给你一个字符串——其中用0和1表示对应数列中的位置上的值可不可以和后面相邻的数交换。 判断该数列能否在限制中交换为不降序数列。 思路 由于刚学了树状数组,一开始以为是用这样的数据结构去找有没有逆序。 事实上题目中的1~n并且每个数并不相同应该引起注意。关键就是这了。 阅读全文
posted @ 2018-02-03 16:18 ckxkexing 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 题目: 一个只有0和1构成的二维平面,给你两种指令,一种是区间的更新,即0变为1,1变为0;一种是查询一个点是1还是0; 由于是二进制,所以每次更新在相应的点上加一,最后对2取余即可。 至于二维的树状数组的应用原理,我也是看了这篇论文才明白; 国家队论文集/2009/武森《浅谈信息学竞赛中的“0”和 阅读全文
posted @ 2018-02-03 10:04 ckxkexing 阅读(159) 评论(0) 推荐(0) 编辑
上一页 1 ··· 14 15 16 17 18