ACM
凝望_XXW
这个作者很懒,什么都没留下…
展开
-
Little Sub and Johann (NIM游戏与 SG函数)
题目链接:http://acm.hznu.edu.cn/OJ/problem.php?id=2591题意:有 n 堆石子,两个玩家轮流操作,每次操作只能去掉一堆石子或者在一堆有x个石子的石堆中移除y个石子,并且满足 gcd(x, y) = 1。直到一个玩家无法操作,则另一个玩家胜利。问先手赢还是后手赢。显然符合NIM游戏,只要能算出sg函数值即可判断。算出每个石堆的SG函数,然后求...原创 2019-03-25 18:29:52 · 222 阅读 · 0 评论 -
C. Covered Points Count (离散化 + 前缀和)
题目链接:http://codeforces.com/contest/1000/problem/C题意:给你n组l 和 r,分别表示n个闭区间,分别求被1~n个区间覆盖的点数算法:前缀和思路:对于每组l和r,用mp[l]++ 表示从 l 往右的区间覆盖数+1, 用mp[r+1]–表示从 r+1 往右的区间覆盖数-1。#include <bits/stdc++.h>...原创 2018-08-18 17:23:31 · 374 阅读 · 0 评论 -
Glad You Came (HDU 多校)(线段树)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6356题意:求n个数的 ( i×a[i] )异或和。这n个数初始值都为0,有m次操作,每次操作给出三个整数:l, r, v。表示将(l<=i <=r)的a[i] 变为max(a[i], v)。为了避免大量的输入数据,题目给你一个生成函数,和三个unsigned int 类型的参数。通过题...原创 2018-08-07 10:18:16 · 402 阅读 · 1 评论 -
HDU多校 6395 Sequence (矩阵快速幂)(模板)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6395思路:[p/n]的值是一段一段的, 每段的区间和p的因数有关,每个区间内是相等的。利用矩阵相乘的性质把p/n的值放入矩阵的幂运算中。再一段一段算即可。坑点:当n大于p时,p的因数都小于n,所以要在p的因数序列末尾加入一个n,补充计算。#include &lt;cstdio&gt;...原创 2018-08-14 14:44:40 · 138 阅读 · 0 评论 -
D. Vasiliy's Multiset (字典树)
题目链接:http://codeforces.com/contest/706/problem/D题意:对一个集合有三种操作: “+ x” 在这个集合中加入x“- x” 在这个集合中删除x(保证原本的集合中有x)“? x” 求x与集合中的某个数异或后的最大值思路:可以用字典树查询从高位到低位,尽可能查到与x异或后能让当前2进制位为1的数位。其累加即为结果。算法:字典树#...原创 2018-07-28 09:30:48 · 266 阅读 · 0 评论 -
C. Photo of The Sky
题目链接:http://codeforces.com/contest/1013/problem/C题意:给你2*n 个整数,要求你把这2*n个数分为两组,一组为x坐标,一组为y坐标,每组n个数。任你选一种组合方式,让其组成n个点,使得包含所有xy坐标表示的点的矩形(边与坐标轴平行)的最小面积。输出最小面积思路:包含两种情况: 一 :最大值和最小值在同一组中:那么一条边就确定为max(x)-...原创 2018-08-04 16:49:58 · 561 阅读 · 0 评论 -
HDU 1251 统计难题
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1251题意:输入数据的第一部分是一张单词表,每行一个单词,单词的长度不超过10,一个空行代表单词表的结束.第二部分是一连串的提问,每行一个提问,每个提问都是一个字符串。输出以该字符串为前缀的单词个数。 注意:本题只有一组测试数据,处理到文件结束.算法:字典树#include <...原创 2018-07-27 17:10:01 · 275 阅读 · 0 评论 -
C. Hard problem (dp)
题目链接:http://codeforces.com/contest/706/problem/C题意:要使n个字符串变为字典序。只能进行一种操作:将第i个字符串reverse,并消耗c[i]的能量。求消耗的最小的能量算法:数据量100000,时限1s,只能用dp思路: 状态:dp[i][j]表示前i个字符串变为字典序所消耗的最小能量。j==0时表示第i个字符串不反转,j==1时表示第i个...原创 2018-07-26 15:15:16 · 311 阅读 · 0 评论 -
C. Coloring Trees (三维DP)
题目链接:http://codeforces.com/contest/711/problem/C题意:给你一列树,有n颗。给你m种颜色,这一列树中有些已经被涂好颜色了,但有些没有涂颜色。现在要给这些没有涂颜色的树上色,对于第i颗树,要涂第j种颜色,需要消耗p[i][j]的颜料。定义这一列树的美丽值为连续相同颜色段的段数。问使得美丽值为k的所需消耗的颜料的最小值。算法:三维DP思路:数据量为...原创 2018-07-24 12:47:43 · 310 阅读 · 0 评论 -
C. Plus and Square Root (构造)
题目链接:http://codeforces.com/contest/716/problem/C题意: `设当前层数为k,屏幕上的数为x,对一个数有两种操作: 加号:使这个数加上当前层数,即 x+=k根号:对x求2次根,并且层数k++。这个操作只有当x是完全平方数时才能操作。即x=m×m。 第一个数为2,在第一层。要求进行n次操作,使层数到达n+1层。设执行根号后的数为m,执行根号后的...原创 2018-07-23 14:31:14 · 229 阅读 · 0 评论 -
C. Efim and Strange Grade (模拟)
题目链接:http://codeforces.com/contest/719/problem/C题意:对一个长度为n的小数进行t次精确,并且只能精确到小数点右边的数。每次精确到某一位时,对那一位的右边的数四舍五入,问最多t次进位中,能够得到的最大的数。并且除去末尾的零。算法:模拟思路: 优先队列不断往左靠,每次取能够进位的最左边的数进位,右边的舍弃。从最左边的进位点开始,往左消零,直到遇...原创 2018-07-23 10:02:42 · 313 阅读 · 0 评论 -
D. Divide by three, multiply by two (排序 / dfs)
题目链接:http://codeforces.com/contest/977/problem/D题意:给你一串数字,要你重新排序,使得后一个数是前一个数的两倍或1/3。算法:排序 / dfs思路一:排序。将每个数视为2和3以及?(“?”表示其他因子)的乘积。那么从左到右,因子3的个数一定是非严格递减的,而因子2的个数一定是非严格递增的。所以按其因子中“2”、“3”的个数排序,“2”的个数越...原创 2018-06-10 16:24:02 · 287 阅读 · 0 评论 -
C. Producing Snow (二分, 前缀和)
题目链接:http://codeforces.com/contest/948/problem/C题意:给你个数字n 表示有n天。每天堆起大小为 v[i] 的雪堆,每天的温度分别为 t[i] , 每天对于每个雪堆,会融化 t[i] 的雪。求每天分别总共要融化多少雪?数据大小:1 <= n <= 1e5, 1 <= v[i], t[i] <= 1e9, 时限:1s思路...原创 2018-08-16 12:39:40 · 300 阅读 · 0 评论 -
欧拉函数(小于或等于n的数中与n互质的数的数目) && 欧拉函数线性筛法详解
【欧拉函数】 在数论,对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目。此函数以其首名研究者欧拉命名,它又称为Euler’s totient function、φ函数、欧拉商数等。 例如φ(8)=4,因为1,3,5,7均和8互质。 从欧拉函数引伸出来在环论方面的事实和拉格朗日定理构成了欧拉定理的证明。【证明】: 设A, B, C是跟m, n, mn互质的数的集,据中国剩余定理,A...原创 2018-08-22 17:50:57 · 1935 阅读 · 0 评论 -
Codeforces Global Round 1 D - Jongmah
题目链接:http://codeforces.com/contest/1110/problem/D题意:给你两个整数n、m,表示:给你n个整数,每个整数的范围都在[1 , m]。现在可以将三个数值相同的数(如:777)或者三个数值连续的数(如:123,但112不算)组成一个三元组,问这n个数最多能组多少个三元组?(每个数最多只能用在一个三元组中)因为3个连续三元组可以转换成三个相同数值的三元...原创 2019-03-13 16:30:37 · 211 阅读 · 0 评论 -
「DP」Educational Codeforces Round 61 (Rated for Div. 2) F. Clear the String
题目链接:http://codeforces.com/contest/1132/problem/F题意:给你个长度为n的字符串(1 ≤原创 2019-03-09 15:09:29 · 122 阅读 · 0 评论 -
D. Gourmet choice(并查集 + 拓扑排序)
题目链接:http://codeforces.com/contest/1131/problem/D题意:给你两个数n,m分别表示两组数的个数,第一组n个数,第二组m个数。给你两组数之间的两两大小关系(>, = , <),构造出一个满足这些关系并且最大值最小的两组数。算法:并查集 + 拓扑排序#include <bits/stdc++.h>#define pi a...原创 2019-03-02 17:09:13 · 239 阅读 · 0 评论 -
F2. Tree Cutting (Hard Version)
观察:为使相同颜色的节点处在同一个子树中,则包含这些节点的最小子树的所有节点必然会被划分在同一部分。因此,在随意选择一个节点作为树的根节点后,每种颜色的所有节点的LCA(最近公共祖先)必然也与这些节点在同一部分。同时,我们也得到了无解判定:如果某两种颜色的节点的最小子树具有相同部分,则必定无解。在判断有解之后,我们可以把每种颜色对应的最小子树缩成一个节点,则问题就转化为:【一个n≤3×10...转载 2019-03-02 16:55:15 · 321 阅读 · 0 评论 -
2016 ccpc 杭州 D.Difference hdu5936(折半枚举)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5936题意:f(y,k)=∑z&amp;amp;amp;amp;amp;ThinSpace;in&amp;amp;amp;amp;amp;ThinSpace;every&amp;amp;amp;amp;amp;ThinSpace;digits&amp;amp;amp;amp;amp;ThinSpace;of&amp;amp;am原创 2018-09-28 20:49:18 · 209 阅读 · 0 评论 -
2016ACM/ICPC亚洲区沈阳站 Counting Cliques HDU - 5952
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5952题意:给你n个点,m条双向边,和一个整数s,要你求出大小等于s的完全子图的个数(完全子图:图中的任一点都和其他所有点相连)。算法:dfs思路:将点逐个放进一个集合,如果该点与集合中的任一点都相连,则该点与集合中的点能构成完全子图,将该点放入集合中,否则不放入。(这样会有重复)将每条边...原创 2018-10-04 19:06:38 · 388 阅读 · 0 评论 -
ACM-ICPC 2018 沈阳赛区网络预赛 G.Spare Tire (容斥)
题目链接:https://nanti.jisuanke.com/t/31448 题意: f(n) = {n2,3n+1,if&amp;nbsp;n&amp;nbsp;is evenif&amp;nbsp;n&amp;nbsp;is odd{n2,if&amp;nbsp;n&amp;nbsp;is even3n+1,if&amp;nbsp;n&amp;nbsp;is原创 2018-09-14 16:44:07 · 118 阅读 · 0 评论 -
C. Plasticine zebra (找规律)
题目链接:http://codeforces.com/contest/1025/problem/C题意:给你一个只包含 ‘w’ ‘b’ 的字符串,间隔排列‘w’’b’的子串(连续)称为斑马,该子串的长度 为斑马的长度 。现可进行一种操作任意次:将该字符串切成两半,再将这两半分别左右反转,再接上。求斑马的最大长度算法:找规律思路:手动模拟,会发现,进行一次操作后,字符串的顺序仍然按照原来的顺...原创 2018-08-21 09:43:13 · 434 阅读 · 0 评论 -
D. Tree Construction (语言基础)(map的内部结构)
题目链接:http://codeforces.com/contest/675/problem/D#include <bits/stdc++.h>#define pi acos(-1.0 )#define fastio ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);using namespac...原创 2018-08-27 15:47:48 · 112 阅读 · 0 评论 -
C. Recycling Bottles (几何)
题目链接:http://codeforces.com/contest/672/problem/C题意:有两个人,a 和 b ,一个垃圾桶 t,给你他们在二维平面的坐标,和n个空瓶子的坐标,a和b要把这些垃圾放进垃圾桶。保证所有坐标不重合,问a和b总的最小行走距离。算法:几何思路:分为三种情况 a和b一定都参与——disl只有a参与————disa只有b参与————disb...原创 2018-08-27 15:44:53 · 252 阅读 · 0 评论 -
D. As Fast As Possible (数学:公式推导)
题目链接:http://codeforces.com/contest/701/problem/D题意:给你5个整数:人数n,起点到终点的距离 l,人行走的速度 v1,车的速度 v2,车的座位数 k。人和车同时从起点出发,车每次能载k个人,每个人只能坐一次车,忽略车掉头以及乘客上下车的时间,问所有人到终点所需要的最短时间?思路:因为是求所有人到终点的最短时间,所以,所有人应该是同时到达终点的。...原创 2018-08-17 17:12:59 · 567 阅读 · 0 评论 -
C. A Mist of Florescence (构造)
题目链接:http://codeforces.com/contest/989/problem/C题意:给你四个数:a, b, c, d,分别对应 ‘A’ , ‘B’ , ‘C’ , ‘D’。 让这些对应大写字母在一个n*m的二维图里的联通块个数等于其对应的数字。二维图的行数列数都是 1<= n,m <=50。构造好图后输出n和m的值,和构造好的二维图。算法:构造思路:直接设图的...原创 2018-06-17 20:39:36 · 188 阅读 · 0 评论 -
B. XK Segments (二分)
题意:给你三个整数,n,x,k。再给你一个大小为 n 的数组a,要你找出不同的下标对 (i,j) 的对数,是其满足:a[i]&amp;lt;=a[j] 且 在 [ a[i] , a[j] ] 内,恰好有k个能被x整除的数。算法:二分思路:先sort一下,因为要求的只是下标对数所以sort不影响。1~n 遍历a[i], 对于每一个a[i], 从 a[j]&amp;gt;=a[i] 的范围里,计算得到 最小满...原创 2018-06-01 09:22:35 · 272 阅读 · 0 评论 -
D. Almost Difference Educational Codeforces Round 34 (Rated for Div. 2)
题目链接:http://codeforces.com/contest/903/problem/D题意:给一个大小为n的整数数组,数组元素 1 <= ai <=1e9, 求 ∑d(ai, aj), (1<= i < j <=n) 算法:数论(前缀和)思路:sum[i] = i*a[i] + (i=0~x-1)∑a[i] + num[a[i]+1] - num[...原创 2018-04-17 14:42:38 · 163 阅读 · 0 评论 -
Divide by Zero 2018 and Codeforces Round #474 (Div. 1 + Div. 2, combined) C. Subsequence Counting
题目链接:http://codeforces.com/contest/960/problem/C题意:给你两个整数X,d, 找出一个数组满足以下条件: 除去Maximum_element_of_the_subsequence - Minimum_element_of_subsequence ≥ d 的子序列后还剩x个子序列算法:暴力思路:把数组元素个数对应的子序列个数列出,会发现:...原创 2018-04-10 18:17:56 · 220 阅读 · 0 评论 -
Educational Codeforces Round 41 (Rated for Div. 2) D. Pair Of Lines
题目链接:http://codeforces.com/problemset/problem/961/D题意:给你n个点的坐标(整数),判断是否存在两条线,使得所有点至少在其中一条线上算法:几何思路:其中一条线,至少经过点1和点2,或点1和点3,或点2和点3。确定一条线后判断剩余点是否在同一直线上#include <bits/stdc++.h>#define pi...原创 2018-04-09 21:15:37 · 99 阅读 · 0 评论 -
Codeforces Round #473 (Div. 2) E. Mahmoud and Ehab and the xor-MST
题目链接:http://codeforces.com/contest/959/problem/E题意:给n个顶点的完全图,顶点号从 0~n-1, 顶点间边的权值为两边定点号的异或值。要求该图的最小生成树算法:瞎鸡儿搞,哦哦不,是找规律思路:将一串数的二进制列出,然后再按最短路kruskal算法的思路手动模拟一下就能发现规律:符合kruskal条件的最小边的个数为 n>>1...原创 2018-04-09 20:55:28 · 157 阅读 · 0 评论 -
Codeforces Round #311 (Div. 2) D. Vitaly and Cycle
题目链接:http://codeforces.com/problemset/problem/557/D题意:给你包含n个顶点,m条边的不一定连通&&没有自环和重边的无向图,要你找到能够使得这个图中存在:(奇数长度&&顶点数>1 ) 的简单圈 所需添加边的最小数量t。并且找出添加t的方法数w 禁止直接添加自环或重边添加边的方法用所添加边的集合来区分,如果...原创 2018-04-14 13:28:34 · 177 阅读 · 0 评论 -
Codeforces Round #473 (Div. 2) D. Mahmoud and Ehab and another array construction task
题目链接:http://codeforces.com/contest/959/problem/D题意:给你一个数组,要你找出比它字典序大的互质数组算法:素数筛思路:通过素数筛,可以将2~MAXN的所有数对应到它的最小素因数,再通过while,每次都 x/=factor[x], 即可遍历x的所有素因数#include <bits/stdc++.h>#define pi ...原创 2018-04-08 15:33:22 · 155 阅读 · 0 评论 -
Codeforces Beta Round #37 C. Old Berland Language
题目链接:http://codeforces.com/contest/37/problem/C题意:让你构造n个由‘0’和‘1’构成字符串,其长度分别为l1, l2, l3,…ln. 要使任意一个串不为任意另一个串的 开头子串。思路:手动模拟一下可以知道:当n==1, l[1]==1时,s[1]==“0”或“1”当n==2 ,l[1]==1, l[2]==1时, s[1]==”0”,...原创 2018-02-22 16:44:42 · 267 阅读 · 0 评论 -
Codeforces Round #183 (Div. 1) C. Minimum Modular
题目链接:http://codeforces.com/contest/303/problem/C题意:给n个数a[i], 在最多去除 k 个数的情况下,找出最小的 m ,使得 ,即n个数中任意两个数 膜m 不相等算法:暴力+剪枝思路: 可转化为 a[i]-a[j] != *m,其中k为任意正整数。 - 记录下所有a[i]-a[j] 差值的出现次数,将 a[i]-a[j]==k...原创 2018-02-18 20:33:08 · 176 阅读 · 0 评论 -
Educational Codeforces Round 35 (Rated for Div. 2) D. Inversion Counting
题目链接:http://codeforces.com/contest/911/problem/D题意:判断对区间[l,r] 内的元素逆序后,整个数列中逆序数对 的个数的奇偶性思路:对只输出奇偶判断的 思维优化 区间[l,r]逆序后,不影响[1,l]、[r,n]之间的逆序数对个数,每交换两个数,奇偶性变一次区间[l,r]逆序后,一共交换了(r-l+1)*(r-l)次#incl原创 2018-02-05 14:14:06 · 116 阅读 · 0 评论 -
Good Bye 2017 C. New Year and Curling
题目链接:http://codeforces.com/contest/908/problem/C算法:暴力模拟,计算几何坑点:数组不要越界,不然 double计算出来的值偏差非常非常大#include #define pi acos(-1)using namespace std;typedef long long LL;typedef pairint, int> P;con原创 2018-02-02 18:01:31 · 150 阅读 · 0 评论 -
## Hello 2018 C. Party Lemonade ##
## Hello 2018 C. Party Lemonade ## http://codeforces.com/contest/913/problem/C算法:贪心思路: 求出每个2^(i-1)体积对应下的最小cost(利用倍数关系遍历一遍)从最大体积的瓶子开始买,因为瓶子不可分割,可用 (L+v-1)/v 表示:当前只购买体积v并确保填满L的,所需瓶数(多买一点可能更便宜)L为剩原创 2018-01-23 11:59:10 · 159 阅读 · 0 评论 -
D. Timetable Educational Codeforces Round 39 (Rated for Div. 2)
题目链接:http://codeforces.com/contest/946/problem/D题意:设一个星期有n天,每天有m小时,给你n个长为m的字符串(由0、1组成),1表示要上课的时段。你每天需要花在学校的时间是从第一个1到最后一个1(包括头尾)。你可以翘掉最多k节课,求你一个n天总计待在学校的最小时间算法:dp思路: 遍历每天用mn[i]记录当天,要上连续的i节课后所需花费的...原创 2018-04-18 12:06:00 · 142 阅读 · 0 评论 -
Codeforces Round #257 (Div. 2) D. Jzzhu and Cities
题目链接:http://codeforces.com/contest/450/problem/D题意:给n个城市、m条公路、k条铁路(铁路只在1号城市与其他城市间)。算出在最短路不变的情况下,最多能去除多少条铁路算法:最短路 dijkstra思路: 先把m个公路建图,这样边数达到2*m, 在对k 个铁路建图,进而可以判断边为公路还是铁路。当最短路是公路时,令flag=1; 当最短路为铁路...原创 2018-04-06 15:27:19 · 140 阅读 · 0 评论