H 狼狼的备忘录 题目大意: 给定n本备忘录,里面记录了一个人的m个星座信息,要求按一下要求整理备忘录 A:同一个成员的星座信息 x 是星座信息 y 的后缀,那么星座信息 x 会没有星座信息 y 完整,从而应该只保留星座信息 y ,删除星座信息 x 。同一个成员的星座信息可能以相同格式出现多次,那么只保留该信息一次。 思路: 通过备忘录的整理规则 set < string >容器可以完
Problem Description 现有M个人一起玩剪刀石头布,以1-M编号,每人出一种,出过不再改变,但是我们并不知道它到底是哪一种。 (其中石头赢剪刀,剪刀赢布,布赢石头,一样则平) 裁判用两种说法对这M个人所构成的输赢关系进行描述: 一:"1 A B",表示第A个人和第B个人出的一样。 二:"2 A B",表示第A个人赢第B个人。 裁判对M个人,用以上两种说法,连说
位图像素的颜色 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1299 Accepted Submission(s): 597 Problem Description 有一个在位图上画出矩形程序,一开始位
今晚的校赛又告一段落啦,终于“开斋”了! AC了两题,还算是满意的,英语还是硬伤。 来看题目吧! B. Array time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard outp
剪刀石头布 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 0 Accepted Submission(s): 0 Problem Description
位图像素的颜色 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 0 Accepted Submission(s): 0 Problem Description 有一个在位图上画出矩形程序,一开始位图
题意分析 有一个 n n n 个点, n − 1 n-1 n−1 条边的无向图,边权均为 1 1 1。 每个点隶属于一个集合,同一个集合的点可以互相传送。 给定 m m m 个询问,求 x , y x, y x,y 的最短距离。 最短路解法 步骤: 建图。对于所有询问各跑一次最短路算法。 可选用的最短路算法: Spfa,单次时间复杂度 O ( n ) ∼ O
解题思路 首先,我们考虑一下整个数组都是由质数构成的情况。 当我们要将质数 x x x 向后移 k k k 个时,如果我们可以知道质数 x x x 在质数数组的下标 j j j,那么就可以通过 p r i m e s [ j + k ] primes[j + k] primes[j+k] 来获取向后移 k k k 个的质数。因此,我们需要在线性筛预处理时,记录下质数的
思路: 看题解的时候可以结合这篇博客 首先我们要搞清楚维护的是啥。 我们对每一个 a [ i ] a[i] a[i]维护一个 m m m位的bitset,表示 a [ i ] a[i] a[i]是否大于 b [ j ] b[j] b[j]。 这样的 b i t s e t bitset bitset最多只有 m m m种,因为 b b b数组就m个数字,这个有单调性。 所以我们可以预处理出这
题目都很短就懒得写题意了。 思路: 把每个字符的后缀都用hash表示然后用map存起来算数目。 统计的时候,对于当前的前缀我们可以算出其在后缀中出现的次数。 但问题是这样可能有重复。 解决办法是: c n t [ n e x t [ i ] ] − = c n t [ i ] cnt[next[i]] -= cnt[i] cnt[next[i]]−=cnt[i] 因为假设p1是p2的最长公共
题意: 按照 c [ i ] = b [ a [ i ] ] c[i]=b[a[i]] c[i]=b[a[i]]进行置换,给你起点排列和终点排列,置换了k次,求置换排列 思路: 模拟枚举环上节点,然后置换数组就对应 p [ b [ i ] ] = b [ i + 1 ] p[b[i]]=b[i+1] p[b[i]]=b[i+1],相当于在环上后移一位。 是道原题,详解可以看: https:
题意: a [ i ] [ j ] = l c m ( i , j ) a[i][j]=lcm(i,j) a[i][j]=lcm(i,j) 求所有 k ∗ k k*k k∗k小矩阵的最大值和。 思路: 维护横向单调队列求每一行的前 k k k个数最值,再用纵向单调队列求出纵向前 k k k个数最值。这样求出每一点对应 k ∗ k k*k k∗k矩阵的最值了。 但是本题求lcm是log,会
Problem Description Little Q’s factory recently purchased m pieces of new equipment, labeled by 1,2,…,m. There are n workers in the factory, labeled by 1,2,…,n. Each worker can be assigned to no more