![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
水题
qq_38232157
这个作者很懒,什么都没留下…
展开
-
洛谷 P1349 广义斐波那契数列(矩阵快速幂, 水题)
矩阵乘法, 矩阵快速幂原创 2022-10-20 14:59:15 · 197 阅读 · 0 评论 -
洛谷 P1962 斐波那契数列(矩阵快速幂, 水题)
矩阵乘法, 矩阵快速幂原创 2022-10-20 14:45:10 · 171 阅读 · 0 评论 -
一本通 1367:查找二叉树(tree_a)(二叉树,水题)
二叉树水题原创 2022-10-17 22:11:27 · 314 阅读 · 0 评论 -
一本通 1339:【例3-4】求后序遍历(二叉树遍历, 水题)
知道先序,中序,唯一确定一颗二叉树原创 2022-10-16 15:55:25 · 230 阅读 · 0 评论 -
一本通 1337:【例3-2】单词查找树(排序, 水题)
1、这道题就是裸的trie树,书中用了排序的解法原创 2022-10-16 13:00:43 · 72 阅读 · 0 评论 -
洛谷 P2158 [SDOI2008] 仪仗队(欧拉函数,水题)
1、数据范围原创 2022-10-14 12:59:25 · 399 阅读 · 0 评论 -
洛谷 P1865 A % B Problem(素数筛法,前缀和,水题)
洛谷 P1865 A % B Problem(素数筛法,前缀和,水题)1、 数据范围很小原创 2022-10-14 11:19:15 · 181 阅读 · 0 评论 -
洛谷 P1965 转圈游戏(快速幂,水题)
快速幂,水题本题要点:1、 10^k 次之后,x走到的位置是: (m * (10^k) + x) % n 。显然就是快速幂。#include <cstdio>#include <cstring>#include <iostream>using namespace std;const int MaxN = 1e7 + 10;long long n, m, k, x;long long mod;long long quick_pow(long long原创 2020-09-16 21:44:25 · 153 阅读 · 0 评论 -
POJ 3048 Max Factor(素数,水题)
素数,水题题目意思:给出n个整数,要求数组这些整数中,拥有素因子最大的哪个整数。如果有多个,输出最早出现的那个。本题要点:1、n <= 20000, 先打素数表。然后对于每一个 数a[i], 求出其最大的素因子 max_fac[i].最后扫描数组 max_fac, 找出最大的那个即可。#include <cstdio>#include <cstring>#include <iostream>using namespace std;const in原创 2020-09-16 14:47:09 · 364 阅读 · 0 评论 -
HOJ 3792 Twin Prime Conjecture(素数,水题)
素数,水题本题要点:1、题目给出一个数 n, 要求 n 以内的数,孪生素数有多少对。先打素数表,数组 twin[k] 表示 k以内的孪生素数有多少对。 先处理 0 ~ 100000 之间的 所有twin[k] 值。后面询问哪个n,之间输出。#include <cstdio>#include <cstring>#include <iostream>using namespace std;const int MaxN = 1e5 + 10;int n;b原创 2020-09-16 14:29:29 · 74 阅读 · 0 评论 -
HOJ 1262 寻找素数对(素数,水题)
素数,水题本题要点:1、n <= 10000. 先打个表 prime,用 vis[i] 表示 数i是否是素数。2、用 lower_bound 来查找第一个 >= m / 2 的 素数,假设下标就是 indx, 在 数组prime 中查找第一个 m - prime[k] 是素数的下标k.#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>原创 2020-09-16 14:09:25 · 132 阅读 · 0 评论 -
洛谷 P1033 自由落体(数学推导,水题)
数学推导,水题本题要点:1、首先,这道题,小球看做是一个点,落到底面就消失。不需要考虑地面反弹。2、车长L, 车左边到达球i所在的坐标时间是 t1, 右边到达 时间是 t2.计算在时间 [t1, t2] 范围内,求 i 的下落高度 h1 和 h2, 是否和车高度范围内有交集。车顶在坐标系中高度是 H1 = H - K, 车底 高度是 H2 = H;3、两种情况不相交:球落在 车的上面: 车过了,球才落地。球落在车 的底下: 球在车到前落地。#include <cstdio>#原创 2020-09-12 19:53:21 · 265 阅读 · 0 评论 -
HOJ 3999 The order of a Tree(二叉搜索树,水题)
二叉搜索树,水题题目意思:给出了一个 BST 的建图顺序,要求用最小的字典序的顺序建图,得到的 BST 一模一样。输出最小的字典序本题要点:1、BST 先建图,然后按先序扫描 BST ,得到的就是字典序最小的序列。2、多组数据,因此每建一棵树,应该 delete 的。#include <cstdio>#include <cstring>#include <iostream>using namespace std;const int MaxN = 1e原创 2020-09-12 16:38:49 · 65 阅读 · 0 评论 -
CodeForces-1141D Colored Boots(stl, 水题)
stl, 水题题目意思:两条字符串,长度都是n。 现在把两个相同的字符配对在一起,其中 ‘?’ 可以配对任意字符。问最多可以配对多少对字符对,要求写出任意 一组配对方式。本题要点:1、用 vector 来存每一个字符在 字符串出现的下标。2、用 vector<pair<int, int> > ans; 来存每一组配对。3、配对策略:先把完全配对的处理了;再处理第1 条字符串的 ‘?’ 和第 2 条字符串剩下的非 ‘?’ 字符, 同理处理第 1条字符串的 ‘?‘和原创 2020-09-11 20:22:17 · 72 阅读 · 0 评论 -
CodeForces-1228B Filling the Grid (快速幂,水题)
快速幂,水题题目意思:有个矩阵, row行, col 列。对于每一行, r[i] 表示第i行,从最开始的位置连续 r[i] 个格子,全部涂黑色。注意,隐含的意思就是, 第i行的第 r[i] + 1 个格子是白色。而数组 c[i] 表示的意思大致相同。本题要点:1、矩阵中,用1 表示黑色,0表示白色, -1 表示 可填白色和黑色。 题目问,有多少种涂色方法,就是问有多少个格子可以填 -1 , 假设有 p 个 -1, 答案就是 2^p2、套用快速幂模板,水题。#include <cstd原创 2020-09-11 18:52:37 · 86 阅读 · 0 评论 -
洛谷 P1003 铺地毯(模拟,stl,水题)
模拟,stl,水题本题要点:1、定义长方形ret, 左下角(x1, y1), 右上角(x2, y2); 对于要查找的坐标 (x, y)暴力判断某个长方形是否与之有交集。2、定义集合 set s1, s2, 分别存放 某个长方形 的横坐标范围(x1, x2) 与 x 有交集,纵坐标 (y1, y2) 与 y 是否有交集。 注意,集合 s1 和 s2 存的是 长方形的下标。3、判断连个集合交集中,下标最大的(也就是放在最上面的长方形)#include <cstdio>#includ原创 2020-09-11 17:59:32 · 111 阅读 · 0 评论 -
洛谷 P1012 拼数(排序,水题)
排序,水题本题要点:1、 定义两个 string a 和 b 之间的排序规则, 就是把 a, b 拼接起来,看看 ab 大还是 ba 大。2、 sort 好之后,输出最大值即可。#include <cstdio>#include <cstring>#include <iostream>#include <string>#include <algorithm>using namespace std;const int MaxN原创 2020-09-11 17:52:36 · 188 阅读 · 1 评论 -
洛谷 P1011 车站 (斐波那契数列,水题)
斐波那契数列,水题题目的意思,就是要解 一元一次方程。 第 n - 1 个车站上的总人数,和 第1 个车站上车人数 a1 和 第2个车站的上车人数有关。数组 a1[k] 表示 第k个车站,上车的旅客人数,包含 a1 的多少倍。数组 a2[k] 表示 第k个车站,上车的旅客人数,包含 a2 的多少倍。第 n - 1 车站,总人数为 m, 因此算出表达式 a1 * u + a2 * v == m.这个方程 a1 == a, m 已知, u 和 v 由递推关系算出来, 然后方程变成了 一元一次方程。原创 2020-09-09 17:59:41 · 246 阅读 · 0 评论 -
HOJ 1846 Brave Game(巴什游戏,水题)
/*巴什游戏,水题本题要点:1、如果当前剩下的石头 n 是 m + 1 的倍数,甲必输。*/#include <cstdio>#include <cstring>#include <iostream>using namespace std;int T, n, m;int main(){ scanf("%d", &T); while(T--) { scanf("%d%d", &n, &m); if(n % (m原创 2020-09-07 21:13:59 · 87 阅读 · 0 评论 -
CodeForces 1263A Sweet Problem(水题)
水题题目意思:有三个堆,每个堆都有若干相同颜色的笔,堆与堆之间颜色各不相同。现在要求每次从两个堆,各拿一支笔。问,怎样操作,使得拿的笔最多? 输出操作次数(拿的笔的总数的一半)本题要点:1、 三堆, 从大到小排列, x >= y >= z. 如果 x >= y + z, 说明, 最多的一堆x 是拿不完的。当 没有同时从 y 和 z 堆拿笔, 操作次数是最多的。最多 有 y + z 次。2、当 x < y + z;此时,做好分配策略。从 y 和 z 中,各自拿一些笔 和原创 2020-09-07 12:53:18 · 119 阅读 · 0 评论 -
HOJ 1102 Constructing Roads(最小生成树,水题)
最小生成树,水题题目意思:有n个村庄,每两个村庄都有一段距离。现在已经修好了e条路,问,最少再修多少路程(修的路的所有的总里程), 使得全部连通。本题要点:1、首先,把修好的路的距离,全部改为0, 再套用 kruskal 算法, 求到最小生成树,就是要修的总里程。#include <cstdio>#include <cstring>#include <iostream>using namespace std;const int MaxN = 110,原创 2020-09-05 18:22:15 · 131 阅读 · 0 评论 -
HOJ 1233 还是畅通工程(最小生成树,水题)
最小生成树,水题本题要点:1、套用 prim 模板即可。#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespace std;const int MaxN = 110, MaxM = 10010;int fa[MaxN];int n, m;bool vis[MaxN];struct rec{ int x, y, z原创 2020-09-05 18:16:34 · 97 阅读 · 0 评论 -
HOJ 2680 Choose the best route(单源最短路径dijkstra,水题)
单源最短路径dijkstra,水题题目意思:有位妹子,要去探望朋友。坐公交,朋友家附近只有一个公交站 s 。 妹子家附近有 w 个公交站可以选择。每两个公交站 x 到 y 需要花费一定时间。问妹子需要最少的时间。本题要点:1、注意的地方: 路是单向的。2、单源最短路径,dijkstra算法。 反向建图。求 s 点的单源最短路径即可。#include <cstdio>#include <cstring>#include <iostream>#includ原创 2020-09-04 18:06:16 · 86 阅读 · 0 评论 -
HOJ 1874 畅通工程续(单源最短路径dijkstra,水题)
单源最短路径dijkstra,水题本题要点:1、n <= 200, 直接用邻接矩阵存图,重边的话取最小值。套用 dijkstra 模板。#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespace std;const int MaxN = 210;int n, m, s, t;int a[MaxN][MaxN], d[原创 2020-09-04 16:46:42 · 67 阅读 · 0 评论 -
HOJ 1276 士兵队列训练问题(stl, 水题)
stl, 水题本题要点:1、用 list 模拟即可。2、题目可能的歧义的地方:有两种选法,选法1:每2个出列一个,选法2:每3个出列一个。结束条件,每完成一种选法后,如果剩下的数 <= 3, 则结束。可能歧义的理解: 执行某种选法,执行过程中(还没结束), 当前的数的数量 <= 3, 此时就结束了。#include <cstdio>#include <cstring>#include <iostream>#include <lis原创 2020-09-02 19:33:17 · 108 阅读 · 0 评论 -
POJ 2255 Tree Recovery(算法竞赛入门经典,二叉树遍历,水题)
二叉树遍历,水题题目意思:给出先序和中序,求后序本题要点:1、 一个二叉树的先序和中序,确定一颗唯一的二叉树。2、写一个递归,由先序和中序建立一颗二叉树3、再写一个递归,后序遍历二叉树,打印每一节点。#include <cstdio>#include <cstring>#include <iostream>using namespace std;const int MaxN = 30;char pre[MaxN], mid[MaxN];stru原创 2020-09-02 12:16:23 · 1052 阅读 · 0 评论 -
HOJ 1873 看病要排队(优先级队列 priority_queue, 巨水)
优先级队列 priority_queue, 巨水本题要点:1、定义一个结构体 person 来描述病人的信息,int enter_id; //进场顺序int priority; //优先级重写运算符< , 注意,先按 优先级从小到大,在按进场顺序从大到小。2、3个医生,每个医生前面都有一条队列。 模拟医生看病顺序。#include <cstdio>#include <cstring>#include <iostream>#include <原创 2020-08-30 18:37:31 · 113 阅读 · 0 评论 -
HOJ 1702 ACboy needs your help again!(stack 和 queue,巨水)
stack 和 queue,巨水本题要点:1、直接用stl的 stack 和 queue来模拟即可#include <cstdio>#include <cstring>#include <iostream>#include <queue>#include <stack>using namespace std;int T, n, flag;char cmd[10];void solve(bool flag){ queue&原创 2020-08-30 18:35:47 · 88 阅读 · 0 评论 -
HOJ 4841 圆桌问题(stl, 巨水)
stl, 巨水本题要点:1、用 vector 来模拟约瑟夫问题2、注意输出格式,每50个字母就换行。每两个例子之间,有空行。#include <cstdio>#include <vector>#include <cstring>using namespace std;const int MaxN = 33000;bool vis[MaxN];int n, m;void solve(){ vector<int> v; memset(原创 2020-08-30 18:34:14 · 77 阅读 · 0 评论 -
HOJ 5007 Post Robot(子串查找,水题)
子串查找,水题本题要点:1、每一行读入,使用 getline ,然后每一次处理一行用 string 的 substr 函数来匹配 这些单词。#include <cstdio>#include <cstring>#include <iostream>#include <string>using namespace std;string line;void solve(){ int len = line.size(); for(int原创 2020-08-25 13:09:04 · 131 阅读 · 0 评论 -
HOJ 1060 Leftmost Digit(对数, 水题)
对数本题要点:1、log(n^n) = n * log(n) = integer(整数部分) + decimal(小数部分)例如 log(3^3) = log(27) = 1.431363764integer = 1, decimal = 0.43136376410 ^ decimal = 10 ^ 0.431363764 = 2.7, 这个是一个不足10 的小数,取整数部分就是答案2、integer 要用 long long因为 n = 1e9, log(n^n) = 90亿, 超过 int原创 2020-08-18 11:27:25 · 71 阅读 · 0 评论 -
HOJ 2504 又见GCD(最大公约数,水题)
最大公约数,水题本题要点:1、步骤:先假设 a > b, 因为 gcd(a, c) = b, 因此gcd(a / b, c / b) = 1, 从 c / b = 2 开始扫描,找到第一个使得 gcd(a / b, c / b) = 1 的 c / b 的值,就是答案。#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using name原创 2020-08-12 13:46:40 · 93 阅读 · 0 评论 -
HOJ 1019 Least Common Multiple(最小公倍数,水题)
最小公倍数,水题本题要点:1、要求若干个数的最小公倍数,每次求两个,循环求即可。2、注意使用 long long#include <cstdio>#include <cstring>#include <iostream>using namespace std;int T, n;long long gcd(long long a, long long b){ return b == 0 ? a : gcd(b, a % b);}long lon原创 2020-08-12 13:36:26 · 66 阅读 · 0 评论 -
HOJ 1061 Rightmost Digit(快速幂,水题)
快速幂,水题本题要点:1、快速幂,mod = 10, 首先把 base 模 mod 一下。#include <cstdio>#include <cstring>#include <iostream>using namespace std;const int mod = 10;int T, n;int fastPow(){ int base = n % mod, res = 1; while(n) { if(n & 1) {原创 2020-08-10 09:55:44 · 94 阅读 · 0 评论 -
POJ 3981字符串替换(string, 水题)
字符串,水题本题要点:1、使用 string 的 find 和 replace 函数,每次读取一行,对该 string 操作,然后输出即可#include <cstdio>#include <cstring>#include <iostream>#include <string>using namespace std;int main(){ string str; int pos; while(getline(cin, str))原创 2020-08-08 18:10:20 · 208 阅读 · 0 评论 -
HOJ 2037 今年暑假不AC(贪心,水题)
贪心,水题本题要点:1、n个活动,按结束时间,从小到大排序2、选择第一个活动,并删除与该活动冲突的活动。3、重复第2步,直到活动为空。#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespace std;const int MaxN = 110;int n;struct node{ int st, ed;}rec原创 2020-08-01 11:32:12 · 74 阅读 · 0 评论 -
HOJ 2570 迷瘴(贪心,水题)
贪心,水题本题要点:1、药物按浓度从小到大排序:如果当前的药物加入溶液中,总浓度小于 w的,就加入该溶液。否则,结束。#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespace std;const int MaxN = 110;int T, n, v, w;int p[MaxN];void solve(){ in原创 2020-08-01 10:58:35 · 99 阅读 · 0 评论 -
POJ 2209 The King (巨水)
题目意思:题意:求n个数的k次方的和的最大值解答:1、 如果 幂次e是偶数,数列中所有项的e次幂加起来,如果 幂次e是奇数,数列中所有正数项的e次幂加起来。2、 很水的题目。#include <cstdio>#include <cstring>#include <iostream>#include <cmath>using nam...原创 2020-02-05 22:37:50 · 103 阅读 · 0 评论 -
POJ 1928 The Peanuts (排序,水题)
题目意思:在一片菜地里,种了花生,有个人戴了只猴子从路边走过,人希望猴子依次从花生最多的点采花生,但必须在规定时间内赶回主人身边,问你最多可以采摘到多少花生。每走动一格,花费一个单位的时间。同时, 在某点采花生,也花费一个单位的时间。解答:1、花生排序之后(按 花生的数量,x坐标,y坐标), 每取一点的花生,要计算回到路上的时间是否足够2、简单的模拟,水题#include <cst...原创 2020-02-05 19:42:17 · 151 阅读 · 0 评论 -
POJ 2028 Web Navigation (STL 水题)
题目意思:模拟浏览器, 前进 ,后退,访问新的网页等功能。每一个命令,都要显示当前的网址。注意:1、 STL 水题, 用两个 vector 或者 stack 模拟即可2、 vector v1, v2;v1 存放的是当前以及之前的 web(每次当前的网页 web 都要放在 v1 的最后一个位置)v2 存放的是 当前页面之后的 web#include <cstdio>#in...原创 2020-02-04 23:04:30 · 90 阅读 · 0 评论