ACM
Originum
勤能补拙。邮箱:originum@126.com
展开
-
HDU 5879 Cure [ 打表 ]
题目链接:2016 ACM/ICPC Asia Regional Qingdao Online HDU 5879 Cure题意概括:很直白并且水了,就是给出 n ,求出 ,输出要求精确到小数点后 5 位。数据范围:n 是正整数,测试数据不超过 1000000 组。题解分析:预处理,打表即可。由于只要求精确到小数点后 5 位即可,所以到 1000000 时,前 5 位数...原创 2018-08-14 22:44:28 · 205 阅读 · 0 评论 -
HDU 6446 Tree and Permutation [ 树形DP + DFS ]
题目链接:HDU-6446 Tree and Permutation题意概括:有 N 个点,被 N - 1 条边相连通。对于点 1 - N 的序列的全排列,求出第一个点到其余点的最短路之和,并求出所有情况的和。数据范围:不超过 10 组测试数据题解分析:由于是无环的联通图,这是一棵无根树。数据量很大,要是枚举点对来求的话,耗时太久换一个思路,就是对于每条边,...原创 2018-08-31 23:28:15 · 446 阅读 · 0 评论 -
ACM-ICPC 2018 南京赛区网络预赛 C. GDY [ 模拟 ]
题目链接:ACM-ICPC 2018 南京赛区网络预赛 C. GDY题意概括:有 n 个仓鼠玩牌。有 13 种牌面分别标着整数 1至13 。现在有 m 张牌叠在一起(会有重复的牌),规则如下:先轮流摸牌一次,每次摸 5 张。牌的数量保证每只仓鼠都有至少一张牌。因此最后一只可能只能拿到少于 5 张的牌,但不会没牌第 1 位首先出其牌面数字最小的牌,后一位出牌面刚好大 1 的牌。也...原创 2018-09-01 23:09:53 · 343 阅读 · 0 评论 -
ACM-ICPC 2018 南京赛区网络预赛 J. Sum [ 筛法 + 数论 + 二分 ]
题目链接:ACM-ICPC 2018 南京赛区网络预赛 J. Sum题意概括:没有平方数因子的整数叫 square-free integer。把 i 分解为两个square-free integer,乘积为 i , 这两个数可以相同定义 F(i) 表示 i 不同分解方式的数目,求 数据范围:题解分析:这里换一个思路,不求某个数可以有几种分解方式,而是拿 sq...原创 2018-09-01 23:48:09 · 449 阅读 · 0 评论 -
ACM-ICPC 2018 沈阳赛区网络预赛 I Lattice's basics in digital electronics [ 01字典树 ]
题目链接:ACM-ICPC 2018 沈阳赛区网络预赛 I. Lattice's basics in digital electronics题意概括:题目给出一种处理字符串的编码规则:以十六进制格式读入一个字符串,转换为二进制 把转换后得到的二进制字符串每 9 位划分为一个单元,模 9 后剩余的直接舍去 对于每个 9 位长的单元,对前 8 位进行奇偶校验:若第 9 位是 1,则...原创 2018-09-08 21:45:13 · 285 阅读 · 0 评论 -
ACM-ICPC 2018 焦作赛区网络预赛 G. Give Candies [ 费马小定理 + 快速幂 + 大数 ]
题目链接:ACM-ICPC 2018 焦作赛区网络预赛 G. Give Candies题意概括:有 n 个同学,学号是 1 至 n 。有 n 颗糖,随机分给这些同学(有的同学可能分不到糖),问有多少种分法数据范围:题解分析:先求出公式:从 n 个同学中取 k 人,表示可以分到糖的同学,方法数是 接下来要把 n 块糖分给这 k 个人,并且要保证每人至少有 1 ...原创 2018-09-17 00:19:43 · 361 阅读 · 0 评论 -
ACM-ICPC 2018 徐州赛区网络预赛 H. Ryuji doesn't want to study [ 线段树 ]
题目链接:ACM-ICPC 2018 徐州赛区网络预赛 H. Ryuji doesn't want to study题意概括:对于一个序列,查询操作是给出一个区间[l, r],求还有单点修改序列的操作数据范围:题解分析:频繁的区间询问、区间修改,很明显就是线段树的题了对每个节点,维护三个变量sum : 存储该序列区间所有值的和 ans : 存储该序...原创 2018-09-10 23:46:53 · 303 阅读 · 0 评论 -
ACM-ICPC 2018 徐州赛区网络预赛 A. Hard to prepare [ DP + 快速幂 + 环上组合 ]
题目链接:ACM-ICPC 2018 徐州赛区网络预赛 A. Hard to prepare题意概括:N 个人围成一个环,每个人可以选 之间的一个整数(某个数字可以被重复选),要求是相邻两人的数同或后是正数结果模 1e9 + 7数据范围:题解分析:同或的概念就是对于两个二进制位,相同为 1,不同为 0由于是无符号数,故两数同或后不会出现负数。所以只要满足得...原创 2018-09-11 10:28:30 · 336 阅读 · 0 评论 -
EOJ Monthly 2018.9 B. 解密信件
题目链接:EOJ Monthly 2018.9 B. 解密信件题意概括:对于某个长度为 n,下标从 1 开始的字符串要进行加密,只要调用 encrypt(1, n) 即可有 T 次独立询问,每次询问位置 x,表示加密后的位置,求这个位置在加密前是在什么位置题目给的加密方式:char letter[];void encrypt(l, r) { if (l <...原创 2018-09-15 21:21:05 · 481 阅读 · 0 评论 -
ZOJ 1610 Count the Colors [ 线段树 + 区间染色 ]
题目链接:POJ - 2528 Count the Colors题意概括:按顺序给出一些线段,后出现的线段会覆盖前出现线段的重叠部分。求剩下线段中,有哪些颜色,同时求出每种颜色线段数量数据范围:1 <= n <= 80000 <= x1 , x2 , c <= 8000题解分析:区间更新的问题,很明显应该用线段树来做,但是有很多细节要注意...原创 2018-10-05 20:41:20 · 363 阅读 · 2 评论 -
kuangbin线段树专题解析
赛前再巩固一下线段树,又做了一遍kuangbin线段树专题专题链接:kuangbin专题题目一览1. HDU 1166 敌兵布阵区间维护和,单点修改#include <stdio.h>using namespace std;const int MAXN=1e5 + 10;int origin[MAXN], tree[MAXN<<2];void p...原创 2018-10-07 00:01:26 · 1091 阅读 · 0 评论 -
POJ 2528 Mayor's posters [ 离散化 + 线段树 ]
题目链接:Mayor's posters POJ 2528题意概括:依次贴上 n 张海报,每张海报会覆盖一个区间。后贴上的海报会覆盖前贴的海报,问最后可以看见几张海报这里的区间不是拿两端点来维护的,是直接按单位最小区间来编号。如 [3, 5] 区间是由编号为 3、4、5的区间组成的数据范围:题解分析:其实就是一个区间涂色问题,能看见几张海报问的就是有几种颜色...原创 2018-10-06 16:52:46 · 335 阅读 · 0 评论 -
HDU 6333 Harvest of Apples [ 莫队算法 ]
题目链接:2018 Multi-University Training Contest 4 Harvest of Apples HDU 6333题意概括:已知 n、m,求 。数据范围:题解分析:由于查询次数很多,并且 n 的值可能很大,因此 普通在线 + 暴力递推求组合数 肯定会超时,设 也就是 n , m 对应的答案。可以得到:通过杨辉三角还可...原创 2018-08-29 16:44:24 · 301 阅读 · 0 评论 -
扩展欧几里德算法解二元一次不定方程
扩展欧几里德算法:已知两个不完全为 0 的非负整数 a,b,必然存在整数对 x,y ,使它们满足贝祖等式:解一定存在,根据数论中的相关定理。下面给出代码:int extgcd(int a, int b, int& x, int& y) { int gcd = a; if (b != 0) { gcd = extgcd(b, a % ...原创 2018-08-06 22:09:47 · 2061 阅读 · 0 评论 -
Interesting Integers BAPC 2014 Final [ 扩展欧几里德算法 ]
题目链接:I. Interesting Integers题意概括:Gabonacci数列类似于斐波那契数列,都满足某位的值是前两位的和不同点在于该数列前两位 是由我们自定义的。现在指定一个 , 求最小的 组合,使 是该数列中的某一位。最小的定义是 尽可能小,同时 ,不存在 相同, 不同的情况。数据范围: , 测试数据不超过100组题解思路:当...原创 2018-08-03 23:56:50 · 265 阅读 · 0 评论 -
K Upside down primes German Collegiate Programming Contest 2015 [ Miller_Rabin ]
题目链接:K. Upside down primes题意概括:判断输入是否为素数,并且翻转180度后也为素数,翻转规则如下:翻转后6与9要互换 3、4、7 翻转后无意义,当错误处理(无法组成数,自然就不是素数) 其他数翻转后不改变题解分析:数据的读入和翻转不是问题,我的处理是直接用数组模拟,其实用 string 做会更好。有一点需要注意的是数据范围是1e16,所以都要用l...原创 2018-07-31 16:15:36 · 271 阅读 · 0 评论 -
快速幂+大数乘法取模
快速幂: 中自带的 函数在调用时需要一系列类型转换;数值并不是严格精确,存在误差;执行效率低。最好不要用。然而自己用累乘法写的朴素函数执行效率低下,时间复杂度 。 算法 () , 是一种高效的快速幂算法,时间复杂度 。原理:求 时,朴素方法需要累乘 n 次。假如 n 是 2 的指数型,可以表示为 ,所以可以转化成: 就压缩到了 k 次平方运算。可以把这个方...原创 2018-07-31 12:02:24 · 1524 阅读 · 0 评论 -
BAPC 2014 Preliminary A Choosing Ice Cream [ 数论 ]
题目链接:BAPC 2014 Preliminary A Choosing Ice Cream题意概括:现在有n个冰激凌,需要从中选一个。给一个k面的骰子,问最少需要投几下可以得到一个方案,通过分配基本事件,使n个冰激凌的概率相同。若无法达到概率相同,则输出"unbounded"。数据范围:1 ≤ n, k ≤ , 测试数据最多100组。题解分析:投掷1次得到k个基本...原创 2018-07-30 13:41:24 · 294 阅读 · 0 评论 -
BAPC 2014 Preliminary B Failing Components [ Dijkstra算法 + 堆优化 ]
题目链接:B. Failing Components题意概括:有n个零件,分别用1-n的编号给出。其中一个零件(b)的故障会导致另一个零件(a)的故障,两事件中间有延时,不是同时发生(在b发生故障后s秒的时间后a才故障)。给出初始的故障零件编号c,问最终有多少个零件发生故障,与故障都发生所需的时间。题解思路:[Dijkstra算法+堆优化]不难看出就是最短路问题,边权都为正...原创 2018-07-29 18:16:28 · 309 阅读 · 0 评论 -
HDU 5878 I Count Two Three [ 打表 + 二分 ]
题目链接:2016 ACM/ICPC Asia Regional Qingdao Online HDU 5878 I Count Two Three题意概括:求可以写成 (a, b, c, d是非负整数),并且不大于 n 的最小整数。数据范围: , 题解分析:先预处理打表,求出所有可能的组合。在每次查询的时候,二分查找即可。由于数据范围是 ,故上限的值为 , ...原创 2018-08-15 19:57:31 · 232 阅读 · 0 评论 -
HDU 6386 Age of Moyu [ Dijkstra算法 + 堆优化 ]
题目链接:2018 Multi-University Training Contest 7 Age of Moyu HDU - 6386题意概括:给一幅图,N个节点,M条双向边。与以往不同的是并没有给出边权,而给出占有这条边的主人编号。在两条同一个主人的边上切换时不需要花费,而不同主人时需要花费 1 。例如,从 A 主人到 B 主人的边需要花费 1 ,从 B 的边回到 A 的边时,还依...原创 2018-08-14 11:14:29 · 254 阅读 · 0 评论 -
HDU 6406 Taotao Picks Apples [ 线段树 + DP ]
题目链接:2018 Multi-University Training Contest 8 Taotao Picks Apples HDU - 6406题意概括:按顺序给出一些苹果的高度,只有当前苹果是第一个或者高度严格大于前一个时才会被摘。现在给出一些独立的询问,一次询问把位置 p 的高度改为 q , 问改变后可以摘几个苹果。数据范围: , ,,题解分析:这道题看...原创 2018-08-19 15:30:03 · 253 阅读 · 0 评论 -
HDU 6397 Character Encoding [ 容斥原理 + 组合数 ]
题目链接:2018 Multi-University Training Contest 8 Character Encoding HDU - 6397题意概括:m 个位置任意填入范围是 0 至 n-1 的整数,使各位数字的和为 k ——问总共有多少种情况。数据范围: 题解分析:这里有一个关于经典组合数的知识点,dls也多次强调,很重要。 的解总数是 ...原创 2018-08-23 23:54:35 · 348 阅读 · 0 评论 -
HDU 6395 Sequence [ 矩阵快速幂 + 分块 ]
题目链接:2018 Multi-University Training Contest 7 Sequence HDU - 6395 题意概括:就是给出一个递推公式,求第 n 项的数。数据范围:题解分析:数据量很大,并且当前项是由前面几项推出的,很自然地可以想到可以用矩阵快速幂计算但这里不是很裸的矩阵快速幂,多了一个不定的常量 因为该值在一定范围内...原创 2018-08-27 20:37:10 · 276 阅读 · 0 评论 -
算法小题
今后告别ACM类竞赛了,编程的算法“内功”修炼告一段落投入计算机视觉门派了,伴着ML、DL走一遭之前一些存在草稿箱的OJ题,合在一起总结一下,或许今后还用得到HDU 1023 Train Problem II [ 高精度乘除单精度 + Catalan ]#include<iostream>#include<cstring>#include<alg...原创 2019-02-06 00:41:31 · 245 阅读 · 0 评论