摘要:
原题链接:https://www.luogu.com.cn/problem/P7072 题意解读:每增加一个人的分数,计算一次当前获奖的人数,输出当前的分数线。 解题思路: 最多人数为N = 100000, 分数最高为M = 600 1、O(N*N*logN)做法 每增加一个人,对已出现的分数进行排 阅读全文
摘要:
原题链接:https://www.luogu.com.cn/problem/P7071 题意解读:提取n的二进制位所有的1表示的整数,如果最低位是1则输出-1。 解题思路: 如果n的二进制最低为是1(n是奇数),则肯定不是优秀拆分,输出-1 否则,从低位到高位遍历n的每一个二进制位,看第i位是1,倒 阅读全文
摘要:
原题链接:https://www.luogu.com.cn/problem/P5663 题意解读:工人是图中的点,传送带是图中的无向边,给出q个询问a, l,判断是否能有一条1号点到a点的路径为l。 解题思路: 考试的关键是拿分!同样可以来面向数据编程: 1、测试点 1∼4,1≤𝑛,𝑚≤1000 阅读全文
摘要:
原题链接:https://www.luogu.com.cn/problem/P5662 题意解读:n件物品,t天每天有不同的价格,类似股票,初始有m金币,每天都可以无限次买卖,问最后最多可以达到多少金币。 解题思路: 考试中一定要学会面向数据编程! 1、对于 10% 的数据,𝑇=1 只有1天的情况 阅读全文
摘要:
原题链接:https://www.luogu.com.cn/problem/P5661 题意解读:坐一次地铁得到一张优惠券,坐公交可以已使用金额大于等于票价的优惠券,优惠券45分钟之内有效,计算所有乘车记录的总花费。 解题思路: 采用队列记录所有坐地铁得到的优惠券; 每次都将过期优惠券从队列中踢出, 阅读全文
摘要:
原题链接:https://www.luogu.com.cn/problem/P5660 题意解读:统计字符串中1的个数 解题思路:直接枚举判断。 100分代码: #include <bits/stdc++.h> using namespace std; int main() { char c; in 阅读全文
摘要:
原题链接:https://www.luogu.com.cn/problem/P5018 题意解读:找到是对称二叉树的最大子树节点数。 解题思路: 1、先统计每一个节点为子树的节点数 int dfs1(int root) { if(root == -1) return 0; return cnt[ro 阅读全文
摘要:
原题链接:https://www.luogu.com.cn/problem/P5017 题意解读:先将问题进行抽象、建模。 设一条数轴,从左到右,每个点对应一个时刻,每个时刻可能有多个人到达,然后有若干个发车时刻,每两个发车时刻间隔必须>=m,每个人的等待时长就是到最近一个发车时刻的时间累加,计算所 阅读全文
摘要:
原题链接:https://www.luogu.com.cn/problem/P5016 题意解读:计算在哪一号兵营增加s2名士兵,使得龙虎双方势力相差最小。 解题思路: 1、先根据初始情况,计算龙、虎双方各自的势力,包括p1号兵营增加s1个士兵 2、在枚举在1~n号兵营增加s2个士兵时,龙、虎双方的 阅读全文
摘要:
原题链接:https://www.luogu.com.cn/problem/P5015 题意解读:统计字母、数字的个数。 解题思路:直接枚举判断,对于库函数的熟练可以更加高效。 100分代码: #include <bits/stdc++.h> using namespace std; int mai 阅读全文