
基础算法
文章平均质量分 56
基础算法学习报告
幸愉信奥
信息学奥赛教学|教研|日常
展开
-
Codeforces/67/A Partial Teacher
Partial Teacher 题目大意 nnn 个人排成一列,有 n−1n-1n−1 个字符,LLL 表示左边的人比当前这个人高,RRR 表示右边的人比当前的这个人高,=== 表示当前这个人的左右两边一样高,分发糖果高的人比矮的人会多一些,问每个人最少会得到多少个糖果? 输入格式 第一行输入一个 nnn,表示有 nnn 个人。 第二行输入 n−1n-1n−1 个字符。 输出格式 输出 nnn 个数,代表 nnn 个人每个人至少得到多少个糖果。 输入样例 5 LRLR 输出样例 2 1 2 1 2 先从原创 2020-07-31 10:00:10 · 169 阅读 · 0 评论 -
cf/625/B War of the Corporations
题目链接:War of the Corporations 题目大意 给你一个串 s 和 串 t , 问串 s 至少经过几次变换才不包含子串 t,求最小操作数。 #include <bits/stdc++.h> using namespace std; string s,t; int main() { cin>>s>>t; int res=0; if(s.size()>=t.size()) { for(int i=0;i原创 2020-07-26 18:19:11 · 189 阅读 · 0 评论 -
Codeforces 484/B Maximum Value
文章目录Maximum Value Maximum Value You are given a sequence a consisting of n integers. Find the maximum possible value of (integer remainder of ai_ii divided by aj_jj), where 1 ≤ i, j ≤ n and ai_ii ≥ aj_jj. Input The first line contains integer n — the原创 2020-07-23 18:37:38 · 140 阅读 · 0 评论 -
找单词
找单词 Description 给你n个单词,请你找出长度最长的那个单词。如果长度最长的单词不唯一,请你输出长度最长的单词中字典序最小的那个单词。 Input 第一行一个整数n, 接下来n行每行一个单词 n<=100 每个单词都由小写字母构成,且长度不超过20 Output 长度最长的那个单词 样例输入 6 illuminate contradict abandon blbnb decide annually 样例输出 contradict 把输入的每个字符串长度存一下,寻找最长的字符串,记录下下原创 2020-07-17 10:43:52 · 396 阅读 · 0 评论 -
线上考试
线上考试 题目大意 Cuber QQ 迎来了他在华师大的最后一次期末考试。由于情况特殊,这场考试改为线上进行。 这是为毕业班特别准备的一次期末考试,命题老师为了让各位考生顺利毕业,设计了如下考试规则: 期末考试试卷共 nnn (1≤\leq≤ nnn ≤\leq≤ 100)道选择题,由单选题和多选题组成。每道题的选项个数可能不同,多选题保证至少有一个正确选项。考试允许多次提交(每次提交会提交整张试卷而不是某一道题),每次提交之后都会反馈每一道题是对是错(多选题当且仅当考生答案和标准答案完全一致时反馈”正确原创 2020-07-18 00:48:23 · 448 阅读 · 0 评论 -
打字机
打字机 倒着遍历字符串,找到第一个下标是 b 的位置记为 idx,然后正着遍历0~idx下标的字符,统计 a 和 b 的数量,如果 b > a 表示不能组成这个字符串,如果 遍历时 b 的数量 <<< a 的数量,表示不能组成字符串。遍历结束后 aaaaa 这种情况 和 aaabbb 这种情况就是 Happy的情况,就是组成唯一,然后就是 aaab 也就是说字符 a 的数量不等于字符 b 的数量且有一个b就是 Sad 表示组成不唯一。 #include <iostream&原创 2020-07-18 00:38:24 · 242 阅读 · 0 评论 -
chokudai 求子序列个数
题目链接 #include <iostream> #include <cstring> using namespace std; const int mod = 1e9 + 7; int pre[30], res[30]; int main() { string s = "chokudai"; for(int i = 1; i < 8; i++) pre[s[i] - 'a'] = s[i-1] - 'a'; string y; cin>&原创 2021-08-02 12:57:23 · 185 阅读 · 0 评论 -
Min Difference 二分优化
题目链接 暴力的时间复杂度是O(n2n^2n2),只能在查询的时候优化一下,可以手写一个左闭右开的二分,也可以使用库函数 lowerlowerlower_boundboundbound,时间复杂度变成 O(nlogn)O(nlogn)O(nlogn) #include <cstdio> #include <iostream> #include <algorithm> #include <string> #include <set> using n原创 2021-08-02 12:34:54 · 216 阅读 · 0 评论 -
排序总结大全
文章目录冒泡排序 冒泡排序 基本思想 从无序序列头部开始,进行两两比较,根据大小交换位置,知道最后将大(小)的数据元素交换到无需队列的队尾,从而成为有序列表的一部分;下一次继续这个过程,直到所有数据元素都排好序 运行过程 冒泡排序算法的运作如下: (1)比较相邻的元素。比如第一个比第二个大(小),就交换它们两个。 (2)对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大(小)的数。 (3)针对所有的元素重复以上的步骤,除了最后已选出的元素(有序)。 (4)持续每次对越原创 2020-08-17 01:35:40 · 181 阅读 · 0 评论 -
位运算 64位整数乘法
64位整数乘法题目链接 题目大意 求 aaa 乘 bbb 对 ppp 取模的值,其中 1 ≤\leq≤ aaa,bbb,ppp ≤\leq≤ 101810^{18}1018 。 输入格式 第一行输入整数aaa,第二行输入整数bbb,第三行输入整数ppp。 输出格式 输出一个整数,表示 a∗ba*ba∗b modmodmod ppp的值。 输入样例 2 3 9 输出样例 6 将 bbb 拆分,bbb 在计算机的二进制就是 (11)2(11)_2(11)2,2×\times× 3 =2×\times×(2原创 2021-03-10 23:27:48 · 164 阅读 · 0 评论