自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

转载 51Nod1305 Pairwise Sum and Divide

51Nod1305 Pairwise Sum and Divide题意有这样一段程序,fun会对整数数组A进行求值,其中Floor表示向下取整:fun(A)sum = 0for i = 1 to A.lengthfor j = i+1 to A.lengthsum = sum + Floor((A[i]+A[j])/(A[i]*A[j]))return sum给出数组...

2018-04-18 20:44:00 93

转载 SPOJ SUBXOR

SPOJ SUBXOR题意给定一个由正整数构成的数组, 求 异或和小于k 的子序列的个数.题解假设答案区间为 [L, R], XOR[L, R] 等价于 XOR[1, L - 1] ^ XOR[1, R], 可以使用 01Trie 保存目前已有的 前缀异或和, 对于每一个新的前缀插入之前, 在 01Trie 中查询 与 新的前缀 异或值 小于 K 的 已有前缀和的个数.对于每个...

2018-04-06 09:55:00 176

转载 UVALive4682 XOR Sum

UVALive4682 XOR Sum题意给定一个数组, 求连续子序列中异或值最大的值.题解假设答案区间为 [L, R], 则答案为 XOR[L, R], 可以将区间分解为 XOR[L,R] == XOR[0, L - 1] ^ XOR[L, R],因此不断更新所以数字的 前缀异或和, 将每一个前缀异或和 都 保存到 01Trie 中在 01Trie 中查询与它 异或值最...

2018-04-05 10:26:00 137

转载 HDU4825 Xor Sum

题意给定一个集合后, 求一组查询中每个数和集合中任一元素异或的最大值.题解异或的规律是这样的 1 ^ 1 = 0, 0 ^ 0 = 0, 1 ^ 0 = 1, 0 ^ 1 = 1, 而最大值即是代表了, 在 靠前的位置 上有 尽量多的 1 . 因此, 对于答案来说, 等价于 在 靠前的位置 上有 尽量与查询数值对应位不相同的数字这类题目可以用 01Trie 在 O(1) 的时间内...

2018-04-04 23:53:00 88

转载 HDU1251 统计难题

题意给定很多个单词后, 统计以某个字符串为前缀的单词数量(单词本身也是自己的前缀).题解一道字典树的裸题, 对于单词只有小写字母的情况, 字典树相当于一颗 26 叉树, 每个节点的构成是这样的struct Trie { // ARRSIZE个指向孩子节点的指针 Trie* next[ARRSIZE]; int cnt; Trie() { ...

2018-04-04 20:55:00 96

转载 HDU 2897 邂逅明下 ( bash 博弈变形

HDU 2897 邂逅明下 ( bash 博弈变形题目大意有三个数字n,p,q,表示一堆硬币一共有n枚,从这个硬币堆里取硬币,一次最少取p枚,最多q枚,如果剩下少于p枚就要一次取完。两人轮流取,直到堆里的硬币取完,最后一次取硬币的算输。解题思路若 n == k * (p + q), 则 A 必胜 第一次 A 取 p 个, 之后每次 B 取 x 个时, A 取 (p + q - ...

2018-02-19 16:55:00 112

转载 DU1525 Euclid's Game 博弈

HDU1525 Euclid's Game 博弈题意给定两个数字 a, b. 每次只能用 较大的值 减去 较小的值的倍数, 两个人轮流进行操作, 第一个得到 0 的胜利.分析对于 a == b 和 a % b == 0 的状态, 则先手一定获胜对于 a > 2 * b 的情况, 因为, 在 (a, b) 的情况下, 先手为绝对聪明,若他知道 (a % b, b) 为...

2018-02-19 10:31:00 91

转载 HDU 1078 FatMouse and Cheese ( DP, DFS)

HDU 1078 FatMouse and Cheese ( DP, DFS)题目大意给定一个 n * n 的矩阵, 矩阵的每个格子里都有一个值. 每次水平或垂直可以走 [1, k] 步, 从 (0, 0) 点开始, 下一步的值必须比现在的值大. 问所能得到的最大值.解题思路一般的题目只允许 向下 或者 向右 走, 而这个题允许走四个方向, 所以状态转移方程为 dp(x, y) ...

2018-02-17 11:07:00 108

转载 Java实现 lower_bound() 和 upper_bound()

Java实现 lower_bound() 和 upper_bound()lower_bound()函数 lower_bound() 在 [begin, end) 进行二分查找,返回 大于或等于 tar的第一个元素位置。如果所有元素都小于tar,则返回 end.public class LowerBound { public static int lower_bound(i...

2018-02-14 18:42:00 1433

转载 HDU1074 Doing Homework

HDU1074 Doing Homework题目描述题目共有 T 组测试, 每组测试给定 n 个作业, 每个作业有 完成需要的时间 和 截止日期, 所有作业都需要完成, 每超过截止日期一天就会扣一分, 问最少扣分 以及 完成次序.解题思路第一次做 状态压缩DP 的题, 题目的解的值和不同科目的次序相关, 如果需要穷举次序的话共有 N! (n属于[1, 15]) 种方案可以 使用...

2018-02-07 19:45:00 79

转载 HDU1069 Monkey and Banana

HDU1069 Monkey and Banana题目大意给定 n 种盒子, 每种盒子无限多个, 需要叠起来, 在上面的盒子的长和宽必须严格小于下面盒子的长和宽, 求最高的高度.思路对于每个方块, x, y, z 的全排列共有 6 种可能性, 每种可能性只需要一个方块, 因为方块必须严格小于, 若有两个相同的方块, 则不符合题意.先将方块按照 x, y 依次进行排序设 dp[...

2018-02-07 09:59:00 101

转载 PAT1089. Insert or Merge

PAT1089. Insert or Merge题目大意给定一个初始序列src, 一个排序当中的序列tar, 问排序方式是 Insert Sort, 或者 Merge Sort. 并输出下一次迭代排序的序列, 保证答案唯一.思路由于保证了答案的唯一性, 所以先检测是否是 Insert Sort, 只要检测第一个出现不递增的序列的位置之后, src 和 tar 是否相等.如果是 ...

2017-11-27 20:29:00 93

转载 PAT1087. All Roads Lead to Rome

PAT1087. All Roads Lead to Rome题目大意给定一个图的边权和点权, 求边权最小的路径; 若边权相同, 求点权最大; 若点权相同, 则求平均点权最大.思路先通过 Dijkstra 求得最短路径, 需要注意的是: 要保证每次松弛时 u 和 v 不相同, 否则会形成自环, 则从 ROM 开始 BFS 遍历每一条边权相同的路径.代码#include &lt...

2017-11-26 15:53:00 73

转载 HDU1269 迷宫城堡

HDU1269 迷宫城堡题目大意给定 有向图 中的 n 个点, m 条边, 求图的 强连同分量 是否为 1.题目思路一道裸的 tarjan 题, 需要注意的是边的存储, LOW的含义.代码#include <cstdio>#include <cstring>#include <stack>#include <cmath>...

2017-11-11 10:33:00 118

转载 HDU1285_确定比赛名次

HDU1285_确定比赛名次题目大意有 n 个队伍, 只知道 m 条关于两支队伍之间胜负的关系. 求 排名. 排名不唯一, 此时输出编号较小的队伍的排名. 输入数据保证有一个符合要求的排名.思路1最开始想到的是 使用队列进行排序 , 但是 传统地 使用队列, 并不能解决这道问题. 所以需要 理解拓扑排序原理 后, 写一个 O(n^2) 的循环解决这道题.但是, 此题有一个 坑 ...

2017-11-10 18:06:00 63

转载 PAT1067. Sort with Swap(0, *) (25) 并查集

PAT1067. Sort with Swap(0, *) (25) 并查集题目大意给定一个序列, 只能进行一种操作: 任一元素与 0 交换位置, 问最少需要多少次交换.思路最优解就是每次 0 都和所在位置本应在的元素交换位置, 共 n - 1 次, 但是在交换中 0 可能会被交换到 0 号位置.仔细思考一下, 其实每次换到 0 就是一个图的连通分量, 按照输入的次序和输入的值...

2017-11-08 15:18:00 82

转载 PAT1065. A+B and C (64bit)

PAT1065. A+B and C (64bit)题目大意给定三个 64 位整数 a, b, c. 问 a + b > c 是否成立思路一道考察字符串处理的题, 可以用Java大整数类水过, 但是需要加速挂, 否则会超时.代码import java.io.BufferedReader;import java.io.IOException;import java.i...

2017-11-07 21:35:00 99

转载 PAT1064. Complete Binary Search Tree

1064. Complete Binary Search Tree题目大意给定一个序列, 求其 生成Complete BST 的层序遍历.思路最开始把这个题想复杂了, 还想着建立结构体, 其实用数组最为方便简单中序遍历这棵 Complete BST, 依次填入一个排好序的序列.因为是数组存放, 所以直接输出 1 - nNode 就好.代码#include <io...

2017-11-07 21:03:00 79

转载 PAT 1063. Set Similarity

1063. Set Similarity题目大意给定 n 个集合, k 个询问, 求任意两个集合的并集和合集.思路一道裸的考察 STL 中 set 的题, 我居然还用 hash 错过一遍, 用 vector勉强过了, 最后才发现原来如此简单.代码#include <cstdio>#include <set>#include <vector&g...

2017-11-07 16:52:00 72

转载 CodeForces - 873B Balanced Substring

Balanced Substring题目大意给定一个字符串, 字符串中只含有 0 和 1, 求一个区间 [l, r] 内, 0 和 1 数量相等的最大子串.思路这道题的字符串最大长度为 100000, 若使用 O(n) 的算法肯定会超时, 所以需要使用 前缀和 进行求值.对于prefixSum(初始化为100100, 防止负数导致下标越界) 将 0 处理为 -1, 1 处理为 ...

2017-11-05 20:20:00 166

转载 区间更新和懒惰标记的线段树

区间更新和懒惰标记的线段树 前言普通版本的线段树进行的是 单点更新 和 区间查询 . 对于带有 懒惰标记 的线段树, 则可以进行 区间更新.懒惰标记的意义代表了这个结点的值已经被更新过了, 但是没有进行子树的结点值更改操作, 用lazy数组标记一下.所以, 每次进行值的更新和查询操作, 每到一个有 lazy 标记的结点, 必须进行向下更新.代码//区间替换#include...

2017-10-30 21:28:00 100

转载 简单的线段树以及线段树数组四倍大小讨论

线段树介绍最基本的线段树拥有 单点更新(OlogN) 和 区间查询(OlogN) 的良好性质. 他的核心思想将一个区间不断地进行二分, 减少运算量.基本思路使用数组存储线段树中各个点的具体值, 若一个结点的下标为rt, 则他的左儿子下标为 rt << 1, 右儿子下标为 rt << 1 | 1.查询操作若 当前区间 在所要 查询区间 内, 则 返回当...

2017-10-30 20:54:00 274

转载 快速求得一个数字的所有素因子

Efficient program to print all prime factors of a given number快速求得一个数字的所有素因子前言对于求一个数 n 的所有质因子, 通常是在 [2, sqrt(n)] 的范围内枚举 i , 看是否能够整除, 如果可以则输出 i 以及 n / i.然而, Vishwas Garg提供了一种更为高效(logN)的求一个数所有素...

2017-10-29 12:57:00 430

转载 使用筛法在 O(logN) 的时间内查询多组数的素数因子

Prime Factorization using Sieve O(log n) for multiple queries使用筛法在 O(logN) 的时间内查询多组数的素数因子前言通常, 我们使用 O(n ^ 2) 的两层循环来进行打表, 记录一个数字是否为素数, 再使用 O(n) 的循环来求所有素因子.然而, Nitish Kumar提供了一种在 O(nloglogn) 内打...

2017-10-29 12:57:00 123

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除