题解
文章平均质量分 64
_铁铁铁铁铁_
这个作者很懒,什么都没留下…
展开
-
2022杭电多校——2
我太菜了原创 2022-07-29 10:44:18 · 174 阅读 · 1 评论 -
2022杭电多校——1
我太菜了原创 2022-07-28 08:22:54 · 388 阅读 · 0 评论 -
2022杭电多校3——补题
太菜了原创 2022-07-27 17:53:10 · 297 阅读 · 0 评论 -
“统信杯” 第十七届黑龙江省大学生程序设计竞赛 Let‘s Swap
Let’s Swap(思维+hash)4星题意:已知一个长度为n的字符串SSS,可以对字符串进行一种操作:将字符串SSS从下标i(1≤i≤n)i(1\leq i\leq n)i(1≤i≤n)的位置将串分为两个串A、BA、BA、B将字符串SSS变为BABABA反转字符串SSS给你两个数a、ba、ba、b代表可以选取的下标的位置,允许操作任意次(或不操作)问SSS是否可以通过操作变成目标串CCC多组输入1≤T,sum∣S∣≤5∗5101\leq T,sum|S|\leq 5*5^{10}1原创 2022-05-16 08:16:59 · 1330 阅读 · 0 评论 -
2021 年第十三届四川省 ACM-ICPC 大学生程序设计竞赛
Spicy Restaurant(多元BFS)4星题意:给你一个nnn个点mmm条边的无向图,每个点有一个权值www,qqq次询问问从点aaa出发走到权值小于等于bbb的点的最小距离,不能满足输出-11≤n,m≤1051\leq n,m\leq 10^51≤n,m≤1051≤wi,bi≤1001\leq w_i,b_i\leq 1001≤wi,bi≤1001≤ai≤n1\leq a_i\leq n1≤ai≤n题解:因为权值的范围比较小,所以我们可以按照权值跑BFS记录每种情况每个点到权值原创 2022-05-14 10:05:07 · 631 阅读 · 0 评论 -
2021 ICPC 江西省大学生程序设计竞赛 Character Distance
Character Distance(思维、模拟)4星题意:给你一个有nnn个元素的序列,要求选择其中任意至少一个数,使对于这个数在序列中的位置间隔恰好为m(1≤i<j,ai=aj=x,m≤j−i)m(1\leq i< j,a_i=a_j=x,m\leq j-i)m(1≤i<j,ai=aj=x,m≤j−i)且要求序列满足字典序最小,若无法满足输出-11≤n,m≤1061\leq n,m\leq 10^61≤n,m≤106题解:只需要找到一个数让他满足上述条件即可当有元素原创 2022-05-14 10:03:41 · 304 阅读 · 2 评论 -
GDCPC广东省大学生程序设计竞赛部分题解
Industrial Nuclear Water(计算几何)3星题意:给你两个点,问这两个点是否在所给三个面的同一侧1000∣x∣=y2+z2,1000∣y∣=x2+z2,1000∣z∣=x2+y21000|x|=y^2+z^2,1000|y|=x^2+z^2,1000|z|=x^2+y^21000∣x∣=y2+z2,1000∣y∣=x2+z2,1000∣z∣=x2+y2题解:判断两点是否在一个面的同一侧,只需将点带入方程看结果是否符号一致#include<bits/stdc++.h>原创 2022-05-14 10:02:27 · 1261 阅读 · 0 评论 -
2021辽宁省大学生程序设计竞赛
比赛!(差分约束+虚拟源点)4星题意:按照a:bca:bca:bc的形式给你三个队伍的顺序(b>=a>=cb>=a>=cb>=a>=c),输出一种满足所有输入的方案,否则返回No Answer题解:注意可能题目给的队伍不完全联通,需要用虚拟源点连接一定要能从源点出发走到所有点最短路#include<bits/stdc++.h>using namespace std;const int N=510;string s;int n,cnt=0;原创 2022-05-14 09:54:00 · 836 阅读 · 0 评论 -
在家复健的三四天
啦啦啦啦啦原创 2021-08-20 00:28:01 · 126 阅读 · 0 评论 -
在家复健前两天
Multiple of 2019(前缀和+同余)同余的知识以后再补(大概)解题思路:根据同余的思想,每次寻找字符串片段**s[i,s.size()-1]**对2019取余的值,若该值在之前出现过,则说明此片段是2019的倍数所以我们可以每次求字符串的后缀和,用一个数组cnt存储它出现的次数,加入到次数ans中,代码如下#include<bits/stdc++.h>using namespace std;typedef long long ll;const int N=2e5+原创 2021-08-17 20:15:46 · 132 阅读 · 0 评论 -
中石油补题题板
目录2021-5-14问题 K: 立方问题 L: 排队2021-5-16问题 M: 一箭多雕问题 L: 鸭子唱歌问题 E: Memory Overflow2021-5-14问题 K: 立方今年乐乐开始学编程了,上几天刚刚解决了一个平方数的问题,问题是这样的:随便告诉你一个不超过 1 个亿的正整数,请你算出不超过该数的所有立方数的个数。但是,如果这个超过 1 亿,是一个 18 位正整数,或 28 位的正整数呢?乐乐不会算,你会吗?输入只有一行且只有...原创 2021-05-16 14:30:58 · 433 阅读 · 1 评论 -
中石油补题
2021-5-15问题 L: 排队思路:构造“循环节”#include<bits/stdc++.h>using namespace std;vector<int>v;int n;int ans(vector<int> v){ vector<int>ve(v); sort(ve.begin(),ve.end()); map<int,int>ma; int n=ve.size(),m=0;原创 2021-05-15 10:04:27 · 390 阅读 · 0 评论 -
cf补题
2021-5-14B. Nice Matrix思维+贪心:构造一个每行每列都是回文结构的矩阵——找出使矩阵的f[i][j],f[n+1-i][m+1-j],f[n+1-i][j]+f[i][m+1-j]四点的值变为同一值的最小改变量 如何找出最小改变量?——找四个数中的任意三个数的中位数证明(数学归纳法)假设四个数为 a=1,b=20,c=80,d=100由此可知当b为中位数时:sum=c-a+d-b(选abc)sum=d-a+c-b(选abd)当c为中位数时原创 2021-05-15 09:53:47 · 194 阅读 · 1 评论 -
朴实无华的总结+题解
2021.4.5Ⅰ.pta-谷歌的招聘素数的遍历条件可以缩减为:(最后一个测试点)for(int i=2;i*i<a;i++)截取字符串中连续子串 substrate()#include<bits/stdc++.h>using namespace std;int main(){ string s="12345789",s1; int k; cin>>k; for(int i=0;i<9-k;i++){ s1=s.substr(i,k原创 2021-05-15 09:53:15 · 130 阅读 · 0 评论 -
DFS,BFS初步学习
7-2 输出全排列 (20 分)#include<bits/stdc++.h>using namespace std;int vis[11],a[11],n;void dfs(int flag){ if(flag==n+1){ for(int i=1;i<=n;i++) cout<<a[i]; cout<<endl; return ; } for(int i=原创 2021-05-05 23:34:32 · 89 阅读 · 0 评论 -
五一补题
7-5 田忌赛马·Hard先同easy版对比一下:7-4 田忌赛马·Easy解决方法:对两组进行排序,如果a[n-i-1]>b[k-i-1],则k++;解题思路:——二分根据题目可知,我们寻找的是从某一天开始a中的????至少获胜k场,那么在这一天之前获胜场数一定是小于k,根据这种性质(类似于单调性)我们可以判断我们设定的第M天是在答案天数的左侧还是右侧,从而可以利用二分解决这个问题。蒟蒻的代码:#include<bits/stdc++.h>us原创 2021-05-04 11:40:27 · 79 阅读 · 0 评论 -
归并排序的使用——逆序对的数量
788. 逆序对的数量原创 2021-05-02 18:04:36 · 157 阅读 · 0 评论 -
Unread Messages
Unread Messages题目描述There is a group of people in an internet email message group. Messages are sent to all members of the group, and no two messages are sent at the same time.Immediately before a person sends a message, they read all their unread messag原创 2021-04-15 18:26:18 · 579 阅读 · 0 评论 -
二分模板——数的范围
789. 数的范围先用二分求出x的左边界——a[mid] >= x(mid在x的右边,所以右边界变为mid)即:if(a[mid] >= x) r = mid;else l = mid + 1;根据模板得出midmid = l + r >> 1;若得出的左边界值不为x,则满足x不存在与数组中,输出“-1 -1”若等于x,二分求右边界——a[mid] <= x(mid在x的左边,所以左边界变为mid)即:if(a[mid] <= x原创 2021-05-01 11:03:18 · 145 阅读 · 0 评论