随笔分类 - ACM的奇妙历险:刷题篇
摘要:题目链接:https://vjudge.net/problem/HDU-1698 题目大意: 给定一个 N 个数的序列,初始全为1,现在进行Q次操作,每次操作把 [L, R] 区间内的所有数变为 x,求操作完成后序列的总和。 分析: 线段树成段更新模板题。 代码如下: 1 #pragma GCC o
阅读全文
摘要:题目链接:https://vjudge.net/problem/POJ-2886 题目大意: N个人围成一圈第一个人跳出圈后会告诉你下一个谁跳出来跳出来的人(如果他手上拿的数为正数,从他左边数x个,反之,从他右边数x个),如果一个人是第 i 个跳出来的,他所得糖数为 i 的所有因子个数,求最先出序列
阅读全文
摘要:题目链接:https://vjudge.net/problem/11177 题目大意: 求小于等于 n 的最大反素数。 分析: n <= 10^18,而前20个素数的乘积早超过10^18,因此可手动打素数表,再dfs寻找最大反素数。 代码如下: 1 #pragma GCC optimize("Ofa
阅读全文
摘要:题目链接:https://vjudge.net/problem/POJ-2828 题目大意: 插队买票,有 n 个人依次插队,一开始买票队列为空,每个插队的人有两个属性 (pos, val) ,pos 表示这个人插队插在了 pos 位置,val 代表这个人的 id,输出 n 个人插完队后形成的序列所
阅读全文
摘要:题目链接:https://vjudge.net/problem/HDU-2795 题目大意: 有一块长度为 H 宽度为 W 的广告牌,现在有 n 则广告要依次贴上去,第 i 则广告的长度为 1 宽度为 w[i],广告要尽量贴得高,其次尽量靠左,求每则广告位于第几行,贴不上就输出-1。 分析: 如果广
阅读全文
摘要:题目链接:https://vjudge.net/problem/HDU-1394 题目大意: 给定一个由 0~n-1 组成的长度为 n 序列,如果将最前面一个元素放到最后面去,就形成了一个新序列,新序列进行同样的操作可以再形成新序列,一共能形成 n 的新序列,每个序列都有一个逆序数,求其中最小的逆序
阅读全文
摘要:题目链接:https://vjudge.net/problem/HDU-1754 题目大意: 略 分析: 线段树单点更新模板题,查询最值。 代码如下: 1 #pragma GCC optimize("Ofast") 2 #include <bits/stdc++.h> 3 using namespa
阅读全文
摘要:题目链接:https://vjudge.net/problem/HDU-1166 题目大意: 略 分析: 线段树单点更新模板题,查询和。 代码如下: 1 #pragma GCC optimize("Ofast") 2 #include <bits/stdc++.h> 3 using namespac
阅读全文
摘要:题目链接:https://www.nowcoder.com/questionTerminal/661c49118ca241909add3a11c96408c8 题目大意: 略 分析: 设 dpMax[i][j] 表示以 a[i] 结尾,一共选 j 个学生的情况下的乘积最大值。 设 dpMin[i][
阅读全文
摘要:题目链接:http://codeforces.com/problemset/problem/1151/F 题目大意: 给定长度为 n 的 01 序列,可以对该序列操作 k 次,每次操作可以交换序列中任意两个元素的位置,求进行 k 次操作后 01 序列升序排列的概率。 分析: 每一次操作就是在 n 个
阅读全文
摘要:题目链接:http://codeforces.com/problemset/problem/1151/E 题目大意: n个人排成一个序列,标号为 1~n,第 i 个人的学习成绩为 ai,现在要选出学习成绩在区间 [l, r] 中的人,被选出的人如果他们在序列中相邻,就将他们划分到一个小组,设 f(l
阅读全文
摘要:题目链接:https://www.luogu.org/problemnew/show/P1962 题目链接:https://www.nowcoder.com/practice/376282a6682a4005973cde7b3df69584?tpId=101&tqId=33251&tPage=1&r
阅读全文
摘要:题目链接:https://abc042.contest.atcoder.jp/tasks/arc058_b 题目大意: 给定一个 H * W 的矩阵,其中左下角 A * B 区域是禁区,要求在不踏入禁区的前提下,从左上角走到右下角一共有多少种走法? 分析: 设 D 为往下,R为往左。 这里举个 H
阅读全文
摘要:题目链接:http://codeforces.com/contest/1151/problem/D 题目大意: 有n个学生排成一队(序号从1到n),每个学生有2个评定标准(a, b),设每个学生的位置为j,则每个学生所要交的学费为a * (j - 1) + b * (n - j),要求把这些学生从新
阅读全文
摘要:汉诺塔I 题目链接:https://www.nowcoder.com/questionTerminal/7d6cab7d435048c4b05251bf44e9f185 题目大意: 略 分析: 利用汉诺塔与二进制的关系来做。 如何用二进制解汉诺塔:https://www.bilibili.com/v
阅读全文
摘要:题目链接:https://www.nowcoder.com/questionTerminal/abc3fe2ce8e146608e868a70efebf62e 题目大意: 略 分析: 对萌醒很开拓思维的一道题,从左下角开始找。 代码如下: 1 class Solution { 2 public: 3
阅读全文
摘要:题目链接:https://www.nowcoder.com/questionTerminal/196141ecd6eb401da3111748d30e9141?source=relative 题目大意: 略 分析: 转自:https://www.nowcoder.com/profile/198826
阅读全文
摘要:题目链接:https://ac.nowcoder.com/acm/contest/243/A 题目大意: 略 分析: 方法就是把疲劳值从小到大排个序,然后从尾部开始一个一个取,当选到第i(i >= 2)个时有2种取法:一是取,那么X = i的答案就是[n-i+1,n]区间的疲劳值求和并加上其中最大距
阅读全文
摘要:题目链接:https://ac.nowcoder.com/acm/contest/249/B 题目大意: 略 分析1(记忆化搜索): 方法为减而治之,把n划分成k份的答案就相当于每次把n分成a,b两个数,再把a分成k-1份,然后把每次a分成k-1份的答案相加即可。注意点是每轮分出来的b要不大于上一轮
阅读全文
摘要:题目链接:https://ac.nowcoder.com/acm/contest/230/B 题目大意: 略 分析: DFS模板题。 代码如下: 1 #include <bits/stdc++.h> 2 using namespace std; 3 4 #define rep(i,n) for (i
阅读全文

浙公网安备 33010602011771号