![](https://img-blog.csdnimg.cn/20200814190649950.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
基础算法
文章平均质量分 56
基础算法学习报告
幸愉聊信奥
信息学奥赛教学|教研|日常
一枚拥有情怀的信奥教练
展开
-
Codeforces/67/A Partial Teacher
Partial Teacher题目大意nnn 个人排成一列,有 n−1n-1n−1 个字符,LLL 表示左边的人比当前这个人高,RRR 表示右边的人比当前的这个人高,=== 表示当前这个人的左右两边一样高,分发糖果高的人比矮的人会多一些,问每个人最少会得到多少个糖果?输入格式第一行输入一个 nnn,表示有 nnn 个人。第二行输入 n−1n-1n−1 个字符。输出格式输出 nnn 个数,代表 nnn 个人每个人至少得到多少个糖果。输入样例5LRLR输出样例2 1 2 1 2先从原创 2020-07-31 10:00:10 · 141 阅读 · 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 · 156 阅读 · 0 评论 -
Codeforces 484/B Maximum Value
文章目录Maximum ValueMaximum ValueYou 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.InputThe first line contains integer n — the原创 2020-07-23 18:37:38 · 127 阅读 · 0 评论 -
找单词
找单词Description给你n个单词,请你找出长度最长的那个单词。如果长度最长的单词不唯一,请你输出长度最长的单词中字典序最小的那个单词。Input第一行一个整数n, 接下来n行每行一个单词 n<=100 每个单词都由小写字母构成,且长度不超过20Output长度最长的那个单词样例输入6illuminatecontradictabandonblbnbdecideannually样例输出contradict把输入的每个字符串长度存一下,寻找最长的字符串,记录下下原创 2020-07-17 10:43:52 · 297 阅读 · 0 评论 -
线上考试
线上考试题目大意Cuber QQ 迎来了他在华师大的最后一次期末考试。由于情况特殊,这场考试改为线上进行。这是为毕业班特别准备的一次期末考试,命题老师为了让各位考生顺利毕业,设计了如下考试规则:期末考试试卷共 nnn (1≤\leq≤ nnn ≤\leq≤ 100)道选择题,由单选题和多选题组成。每道题的选项个数可能不同,多选题保证至少有一个正确选项。考试允许多次提交(每次提交会提交整张试卷而不是某一道题),每次提交之后都会反馈每一道题是对是错(多选题当且仅当考生答案和标准答案完全一致时反馈”正确原创 2020-07-18 00:48:23 · 391 阅读 · 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 · 221 阅读 · 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 · 155 阅读 · 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 · 175 阅读 · 0 评论 -
排序总结大全
文章目录冒泡排序冒泡排序基本思想从无序序列头部开始,进行两两比较,根据大小交换位置,知道最后将大(小)的数据元素交换到无需队列的队尾,从而成为有序列表的一部分;下一次继续这个过程,直到所有数据元素都排好序运行过程冒泡排序算法的运作如下:(1)比较相邻的元素。比如第一个比第二个大(小),就交换它们两个。(2)对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大(小)的数。(3)针对所有的元素重复以上的步骤,除了最后已选出的元素(有序)。(4)持续每次对越原创 2020-08-17 01:35:40 · 148 阅读 · 0 评论 -
位运算 64位整数乘法
64位整数乘法题目链接题目大意求 aaa 乘 bbb 对 ppp 取模的值,其中 1 ≤\leq≤ aaa,bbb,ppp ≤\leq≤ 101810^{18}1018 。输入格式第一行输入整数aaa,第二行输入整数bbb,第三行输入整数ppp。输出格式输出一个整数,表示 a∗ba*ba∗b modmodmod ppp的值。输入样例239输出样例6将 bbb 拆分,bbb 在计算机的二进制就是 (11)2(11)_2(11)2,2×\times× 3 =2×\times×(2原创 2021-03-10 23:27:48 · 144 阅读 · 0 评论