![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
训练报告
文章平均质量分 78
_九磅十五便士_
这个作者很懒,什么都没留下…
展开
-
2021-ICPC银川站赛后总结
本次赛事暴露了很多和强校的差距,认清了自己的实力,收获了很多除了荣誉以外的很多东西,这本身就是本次赛事对于我的提高。复盘一下本次比赛发现:学好英语不吃亏。首先上来开了A,我和峰哥同时读错了题意,收获了很多发的WA,以致后来的相当长的一段时间以内峰哥一直在琢磨A的题意,同时E题也因为一直题意不清楚而导致错了几发,J题比较可惜池总思路正确,但是被DOMjudge卡了空格,总体来说比较可惜。其次,这次比赛我的锅很大:首先总是在读假题,或者读不懂。其次,准备的数学知识没有派上用场。再者,没有利用好讨论的这个便原创 2021-05-18 09:33:25 · 932 阅读 · 4 评论 -
UVA11584 Partitioning by Palindromes(回文子串+区间dp)
题目传送门这道题的题目大致意思是:输入一个字符串,尽可能的划分成少的字符串。分析状态分析状态分析状态:dp[i]代表前i个元素中可以划分成为几组字符串dp[i]代表前i个元素中可以划分成为几组字符串dp[i]代表前i个元素中可以划分成为几组字符串集合属性集合属性集合属性:MinMinMin那么枚举一下每一个回文字符串的最后一位,下面就是枚举一下回文字符串的最前面一位,因此有如下表达式:for(int i=1;i<=s.size();i++){//枚举末位 for(int j=1;j<原创 2021-03-12 11:53:14 · 111 阅读 · 0 评论 -
P1439 【模板】最长公共子序列(dp/lis)
题目传送门50分O(n2)TLE思路50分O(n^2)TLE思路50分O(n2)TLE思路这道题不能用二维数组来状态转移!要不然你会RE。集合表示:集合代表当前本点的公共子序列长度的最大值。属性:MaxMaxMax状态转移:dp[i][j]=Max(dp[i−1][j−1],dp[i−1][j])dp[i][j]=Max(dp[i-1][j-1],dp[i-1][j])dp[i][j]=Max(dp[i−1][j−1],dp[i−1][j])如果a[i]=a[j]a[i]=a[j]a[i]=a[原创 2021-03-10 23:38:01 · 196 阅读 · 0 评论 -
P1020 [NOIP1999 普及组] 导弹拦截 (dp/lis)
题目传送门第一问100分思路100分思路100分思路先确定集合的性质(我们用这个集合存什么东西):我们用这个集合存储什么东西?存储以这一位数字为末的最小下降子序列的位数。再来看这个集合如何计算的?集合存储的是以这一位为末尾的子序列的长度,那么我们找到这一位子序列的上一位就好,因此开二重循环,for(int i=1;i<=n;i++)//枚举以第i位为末尾 for(int j=1;j<i;j++)//如果i之前的位中有比它大的就状态转移 if(a[i]<=a[j])dp[i]原创 2021-03-10 23:23:49 · 338 阅读 · 0 评论 -
动态规划初步
背包问题01背包问题acwing–>01背包习题1这道题的大致思路就是,先让ans[0]=1,然后再下面遍历的过程中,每到达一个数,能都踩上一个点,方法数得以累加。#include<iostream>using namespace std;int ans[21000202];int main(){ int n,v,p; cin>>n>>v; ans[0]=1; for(int i=1;i<=n;i++){原创 2021-03-01 10:05:14 · 73 阅读 · 0 评论 -
数论
文章目录因数试除法分解质因数素数(质数)1.试除法判定素数2.筛法求素数朴素筛法求素数线性筛法求素数约数试除法求所有的约数性质欧几里得算法(辗转相除法)因数试除法分解质因数void divide(int x){ for (int i = 2; i <= x / i; i ++ ) if (x % i == 0) { int s = 0; while (x % i == 0) x /= i, s ++ ;原创 2021-02-20 11:54:28 · 101 阅读 · 0 评论 -
C++ STL库用法实例
你还在担心不会用auto写for循环吗?你还在担心map不会用吗?你还在为STL的各种库不会用而苦恼吗?相信我,看了这篇文。。。你依然不会!题目传送门—>CF977B Two-gram题目描述:给你一个字符串,找出现次数最多的长度为2的子串。输入样例:7ABACABA输出样例:AB这道题可以作为C++ STL库的优质练手题1.auto的循环遍历for(auto x : range)创建拷贝,无法修改range中的元素for(auto& x : rang原创 2021-02-06 14:23:22 · 228 阅读 · 0 评论 -
前缀和思想
这道题是一个十分巧妙的前缀和思想的题目题目如下题目传送门-----CF1132C Painting the Fence墙长为n,q个工人,每个工人固定粉刷一个区间,区间可能重叠,现在要去掉两个工人,求剩下q-2个工人最多粉刷多少墙。(3≤n,q≤5000 ) (1 ≤ l i ≤ r i ≤n)。那么对于这道题来说通过观察数据我们就知道需要用n^2算法,而又知道这个需要找到两个去除的小画家,所以说我们需要用到类似于冒泡排序的枚举思想。pim数组存放的是我们去除i这个小画家以后,剩下的作画区间剩余数原创 2021-02-06 12:55:20 · 312 阅读 · 0 评论 -
图论
一般来说我们认为存图可以使用链表,(数组模拟的链表),但是数组模拟的链表其实不容易访问,下面一道题可能就不会那么好做。——查找文献——这道题如果题面中没有说我需要排序的话,那么链表实现也没有那么复杂,但是我们需要对每一次的查找到的点的所有连接点(bfs)(dfs)排序!那么用数组实现的链表就无从下手,因此我们使用二维不定数组来存储这个图,这样,排完序后对于每一个点我们都会优先查找数据较小的点。这道题主要我认为是存图方式和我们一般的链表不一样,是个模板题,其实不是很难。但是作为排序,在题目中还是比较麻烦原创 2021-01-26 23:22:29 · 161 阅读 · 0 评论 -
寒假训练
明天或者后天写题解,先把代码post上去CF1167C News Distribution#include<stdio.h>#include<iostream>using namespace std;int a[1010101],b[501010],t[501010];int find(int x){ if(a[x]!=x) a[x]=find(a[x]); return a[x];} int main(){ int n,qus; cin>>n&g原创 2021-01-17 23:35:42 · 90 阅读 · 1 评论 -
指针与链表
1.应用指针实现顺序后移(谭浩强,《C程序设计(第四版)》,清华大学出版社:第八章,P291,第4题)有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数,见下图所示,输入n个整数和输出调整后的n个整数。设计实现函数void f(int *a,int n,int m),函数的功能为将整型数组a存储的n个数依次后移m个位置,最后m个数变成最前面m个数。裁判测试程序样例:#include <stdio.h>#include <string.h>#defin原创 2020-12-18 20:21:41 · 581 阅读 · 4 评论 -
笔记
题目大意ACWing原题跳转链接第一行一个整数N,表示测试数据的组数。每组数据占一行,包含一个不含空白字符的字符串,字符串长度不超过200。共一行,输出最长的连续出现的字符机器出现次数,中间用空格隔开。这道题我的代码确实没有啥问题(在acwing上确实可以ac)#include<stdio.h>#include<string.h>int main(){ int n; char a[202]; scanf("%d",&n); getchar(); wh原创 2020-12-11 13:19:03 · 115 阅读 · 0 评论 -
选拔赛 习题报告
题目描述蒲煜凡学长最近迷上了一个漂亮的小学妹,他想送一朵特别的花给这个小学妹。他现在有一把N朵漂亮的花,每多花都有a[i]个花瓣,如果有1朵花的花瓣数与其他任意一朵花的花瓣数之差等于2,那么他可以选择把这朵花扔掉,也可以选择丢弃。请问经过若干次操作之后蒲煜凡学学长能找到唯一的一支特别的花送给小学妹吗?输入描述:第一行一个整数t(1<=t<=500)表示测试样例数每个测试样例第一行一个整数n(1<=n<=1e4)表示花的数量,第二行n个整数ai表示花瓣数。输出描述:输出原创 2020-12-07 23:09:14 · 199 阅读 · 0 评论 -
2020秋季第 2 周训练 解题报告
洛谷·P1182 数列分段Section II在洛谷的这个二分题单里面这道题真的这道题最难,这道题也是我在这个题单里面见过的唯一一道区间会改变题目结果的题,自认为难度高于我们可爱的跳石头和路标设置(虽然说是小绿题)要紧跟题目要求:我们寻找的答案mid必须严格大于等于分的所有的数列段,而且要求每一个数列段必须严格可分举个栗子:我现在有一个数列60 25 25 60 10000000000000000000000000000000000000000000000000000000000000000那么我原创 2020-12-02 20:42:08 · 113 阅读 · 0 评论 -
并查集专题
题面:B-supermarketA supermarket has a set Prod of products on sale. It earns a profit px for each product x∈Prod sold by a deadline dx that is measured as an integral number of time units starting from the moment the sale begins. Each product takes precise原创 2020-12-01 19:27:02 · 154 阅读 · 0 评论 -
2020秋季第 1 次练习 习题笔记
E-质因数分解 题目描述 已知正整数n是两个不同的质数的乘积,试求出两者中较大的那个质数。 输入格式 一个正整数n。 输出格式 一个正整数p,即较大的那个质数。输入输出样例输入 #1 21输出 #1 7本题需要注意的是两个质数的乘积的因子只有四个,分别是,这两个质数,1和它本身,因此#include<stdio.h>#include<math.h>void f(int s);int w=1;int main(){ int n; scanf("%d",&原创 2020-11-19 21:20:10 · 158 阅读 · 0 评论 -
2020秋季第 1 周训练 习题笔记
2020秋季第 1 周训练 习题笔记D-EXCEL排序Excel可以对一组纪录按任意指定列排序。现请你编写程序实现类似功能。Input测试输入包含若干测试用例。每个测试用例的第1行包含两个整数 N (<=100000) 和 C,其中 N 是纪录的条数,C 是指定排序的列号。以下有 N行,每行包含一条学生纪录。每条学生纪录由学号(6位数字,同组测试中没有重复的学号)、姓名(不超过8位且不包含空格的字符串)、成绩(闭区间[0, 100]内的整数)组成,每个项目间用1个空格隔开。当读到 N=0 时原创 2020-11-14 17:11:08 · 298 阅读 · 1 评论