自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 滴滴面经相关知识整理(基于newbing)

Object.defineProperty() 是 JavaScript 中的一个静态方法,它可以在对象上定义新的属性,或者修改对象上的现有属性,然后返回该对象1。obj:要在其上定义或修改属性的对象。prop:要定义或修改的属性的名称。descriptor:要定义或修改的属性的描述符。Object.defineProperty() 允许精确地添加或修改对象上的属性。通过赋值创建的普通属性会在属性枚举(for…in,Object.keys()等)中显示出来,其值可能会被更改,也可能会被删除。

2024-02-02 23:49:11 889

原创 2022ccpc女生赛+补题

由于题目明确醒来时间不会等于日志记录的时间且一定有记录的时间大于醒来时间,因此只需要在第一个大于醒来时间的日志判断人数是否符合。否则,我们可以特判,在一段音乐的中间是否存在一段满足or在一段音乐的尾部和第二段音乐的前部连接起来是否满足;否则,需要从前遍历到最大数位置,若在最大数出现之前出现能满足连续获胜k次的数则为该数,否则就是最大数。若清醒度减少,说明经过无限长时间清醒度会一直减少,因此在在无限长时间内一定会满足;加上当前日志时间排队人数后再比较最短排队时间,注意时间相等时选取靠后的时间段。

2023-01-16 00:08:05 874 1

原创 2021ccpc女生赛+补题

2021ccpc女生赛

2022-11-25 14:55:20 484

原创 2019ccpc女生赛+补题

2019ccpc女生赛

2022-11-23 16:34:46 287

原创 2022ccpc威海站复现+补题

2022ccpc威海

2022-11-17 20:22:20 851

原创 atcoder题单

atcoder题单

2022-11-17 18:38:43 748

原创 AtCoder Beginner Contest 276

F - Double Chance

2022-11-15 20:44:54 64

原创 abc277

D - Takahashi's Solitaire

2022-11-15 00:17:26 232

原创 ABC 273 D - LRUD Instructions

【代码】ABC 273 D - LRUD Instructions。

2022-11-01 00:09:15 88

原创 LOJ #10127. 「一本通 4.3 练习 1」最大数&线段树

修改新增数节点时也是采用dfs,当递归到的区间l==r则为叶子节点,则可以将其赋值,否则判断该数是在左子树还是右子树递归。修改时要记得更新父节点最值,递归回溯。建树时一开始就直接将树开最大区间初始化,我们定义一个n来表述当前的数数量,每次新增一个数直接n++,将题目的每次新增一个节点转化为修改一个节点的最大值。查询区间最值时从序号为1的节点开始,dfs查询,当当前区间被包含在待查询区间内,则返回改区间最值,最后比较取最值。由于该题每次查询结果都会影响到下一个新增的数,所有不能用动态RMQ来解。

2022-10-21 00:37:44 193

原创 2022牛客暑假多校第一场

【代码】牛客暑假多校第一场。

2022-09-03 19:05:13 199

原创 2022牛客暑假多校第八场8.13

看了题解之后才知道,如果两个序列有一个数一样,那么这个数后面的数都会一样,因为是由式子迭代过来的。所以我们只要找到所有的重复的数字的位置,那么公共子序列长度就是n,m两个序列中从该数字到尾端的长度较小的,即min(n-j+1,m-i+1)。把所有重复的数字都算一遍,找最大值。即:max(ans,min(n-j+1,m-i+1))。给定x,a,b,c,p,这两个序列由(ax^2+bx+c)%p一直滚动得到。一开始直接套了LCS复杂度为nlogn的板子但是超时了,

2022-08-20 22:52:58 332

原创 2022杭电多校第八场8.11

因此,在一个字符串中,任意位置的字符串都可以和与他间隔一个位置的字符对换,那么我们就可以直接对位置为偶数和奇数的字符分别操作,把所有的0放在前面,1放在后面,这样的字符串即字典序最小的字符串。暴力,对于组成矩形的边长从[1,根号(k)](记得向上取整)枚举,i为矩形的宽,ii为矩形的长,枚举对于金条切法的所有可能,求最大值。给定一个只包含0和1的字符串,每次可以选择任意长度为奇数的子串翻转,可以操作任意次,使得操作后的字符串字典序最小。平行于x轴画n条,平行于y轴画n条,因此最少为2*n。...

2022-08-13 00:19:53 163

原创 2022牛客暑假多校第七场8.8

给你几个字符串,给你一堆正则表达式符号的用法,对于每个字符串,问:能够表示该字符串的最短的正则表达式的长度是多少,有多少个这样的正则表达式?2.aa类 有8种:".." "a." ".a" "aa" "a+" "a*" ".*" ".+"1.ab类 有6种:".." "a." ".b" "ab" ".*" ".+"对于长度大于2的字符串,最短长度为2,有2种: ".*" ".+"对于长度为1的字符串,最短长度为1,有2种:该字符串本身和”."...

2022-08-08 21:32:05 92

原创 2022牛客暑假多校第六场8.16

用一个二维数组dp[x][y]来存走到(x,y)时的状态,如果当前路径(x+y)是偶数,则下一步是Alice走,则dp[x][y]=(dfs(x+1,y)|dfs(x,y+1));给定一个大小为n*m的图,Alice和Bob从(1,1)开始走,Alice先手,每次只能向右或向下,因此在不超过地图大小的前提下,下一步坐标可能是(x+1,y),(x,y+1),遇到“A"则Alice赢,遇到”B“则Bob赢,如果都没有遇到最终一定会走到(n,m),这样的情况则是平手。...

2022-08-08 21:06:36 99

原创 2022牛客暑假多校第五场8.1

首先,如果有某个位置没有被查询过就无法确定,如果某个位置查询的yes和no一样多也无法确定,如果某个位置yes和no的数量都超过1也无法确定,判断某个位置是否出现既有yes也有no,则该位置的查询必然有一次查询是错误的,遍历该字符串,如果出现多个这种情况则无法确定是哪个位置出错,该情况无法确定。从上到下处理圆,最上面的圆一定可以看到整个周长,第i个圆需要和它上面的所有的圆(i+1,n]比较,将这些圆对该圆覆盖的位置用弧度区间表示,求这些区间的并集,将弧度x半径就是该圆被覆盖的周长。...

2022-08-07 01:21:31 52

原创 2022牛客暑假多校第二场 7.23

用最小二乘法可以做这道题。设a[i]为y,i为x。我们可以求出一条最佳直线y=bx+a使得在y方向上所有的点到该直线的距离的平方的和最小,如图,也就是最小代价。我们可以推出这个最大值是[根号n]。给定一个数,构造一个从1到n的排列使得这个排列的最长上升子序列和最长下降子序列的最大值最小。因为本题对精度要求比较高,可以使用longdouble。...

2022-07-30 16:49:08 163

原创 2022杭电多校第二场7.21

对于给定的所有区间按从小到大排序,先按左端点排序,如果左端点相等按照右端点排序。因为服务系统按照时间来服务,所以直接按排序后的顺序递归区间判断,如果当前区间的earlist

2022-07-22 20:41:41 277

原创 2022杭电多校第一场7.19

如果任意时刻当前的数有0,Alice获胜,否则Alice可以将所有的数分成两组。Bob可以选择一组删掉,另一组所有的数减1。通过找规律,我们发现12(1的个数)......像这样2^n个n时Alice可以获胜。而每一次Bob的操作实际上就是把当前最大数n数量减半变成n-1,因此我们只需要从后往前迭代a[i-1]+a[i]/2,最后判断是否出现0即可。实际上是(n-m)*1/2;注意如果(n-m)是奇数,x1/2就是小数,小数取模需要x2的逆元。而2的逆元是2^(mod-2)。.........

2022-07-22 16:02:58 163

原创 2019ccpc哈尔滨站复现+补题

题目J. Justifying the Conjecture思路签到题1=0+12=1+23=1+24=2+25=2+36=2+47=3+48=2+69=3+6.......列举一下就可以看出来6之前的数都无法拆分成一个质数和复合数(除了1和质数外称为复合数)6以及6之后的数,如果是偶数则可以拆成2和非2偶数,如果是奇数则可以拆成3和非2偶数代码#include<bits/stdc++.h>#define ll long.

2021-10-28 22:21:45 142

原创 codeforces#744(div.3)

A. Casimir's String Solitaire

2021-09-30 17:04:09 201

原创 AtCoder Beginner Contest 217

A - Lexicographic Order#include<bits/stdc++.h>using namespace std;int main(){ char s[1000],t[1000]; cin>>s>>t; if(strcmp(s,t)<0)cout<<"Yes"<<endl; else cout<<"No"<<endl; return 0;}B

2021-09-06 22:48:07 88

原创 CodeForces Round #739(div.3)

A. Dislike of Threes把能被3整除和个位数是3的除外,其他存入数组代码#include<bits/stdc++.h>using namespace std;int main(){ int t,k,j,a[1005];j=1; for(int i=1;i<=100000;i++) { if(i%3==0||(i%10==3))continue; else {

2021-09-06 22:39:59 40

原创 AtCoder Beginner Contest 216

A - Signed Difficulty#include<bits/stdc++.h>using namespace std;int main(){ int x,y; char c; cin>>x>>c>>y; if(y>=0&&y<=2)cout<<x<<"-"<<endl; else if(y>=3&&y<=6)

2021-09-06 22:36:12 160

原创 AtCoder Beginner Contest 214

A - New Generation ABC代码#include<bits/stdc++.h>using namespace std;int main(){ int n; cin>>n; if(n>=1&&n<=125)cout<<"4"<<endl; else if(n>=126&&n<=211)cout<<"6"<<endl;

2021-08-17 22:38:52 92

原创 #10001. 「一本通 1.1 例 2」种树

#10001. 「一本通 1.1 例 2」种树满足n个区间种树的要求,求最少种多少棵数思路按照区间的尾巴来排序,因为如果区间有重叠的种在第一个区间的尾巴可以使得种树更少,所有每次始从尾巴开始种树。代码#include<bits/stdc++.h>using namespace std;const int maxn=3e4+5;int a[maxn],b[maxn];struct node{ int b,e,t;}p[maxn];int main(){

2021-08-12 18:45:29 122

原创 AtCoder Beginner Contest 213

A - Bitwise Exclusive Or水题-异或代码#include<bits/stdc++.h>using namespace std;int main(){ int x,y,a; cin>>x>>y; a=x^y; cout<<a<<endl; return 0;}B - Booby Prize还是水。代码#include<bits/stdc++

2021-08-11 17:27:03 149

原创 codeforces #737(div.2)

A. Ezzat and Two Subsequences思路先排序,让最大数自己组一组,剩下求平均数代码#include<bits/stdc++.h>using namespace std;int main(){ int t,n,a[100005]; cin>>t; while(t--) { cin>>n; double sum=0; for(int i=1;i&l

2021-08-10 13:59:38 123

原创 LibreOj #10000. 【一本通 1.1 例 1」活动安排

#include<bits/stdc++.h>using namespace std;int main(){ int n,a[1005],b[1005],dp[1000][100000]; cin>>n; for(int i=1;i<=n;i++)cin>>a[i]>>b[i]; for(int i=1;i<=n;i++)//按照结束时间排序 { for(int j=i+1;j<.

2021-08-07 22:59:18 81

原创 codeforces #734(div.3)

思路直接%3这样相差最小,剩1就是一元硬币,剩2就是两元硬币代码#include<bits/stdc++.h>using namespace std;int main(){ int t,x; cin>>t; while(t--) { cin>>x; if(x%3==0)cout<<x/3<<" "<<x/3<<endl; ...

2021-08-05 23:13:16 97

原创 杭电水题p2036

https://acm.hdu.edu.cn/showproblem.php?pid=2036#include<bits/stdc++.h>using namespace std;struct point{ int x,y;}a[105];int main(){ int m,temp; float ans; while(1) { cin>>m; if(m==0)break; ans=0

2021-08-05 16:19:14 44

原创 #codeforces Harbour.Space Scholarship Contest 2021-2022 (open for everyone, rated, Div. 1 + Div. 2)

思路这样的interesting 只有个位数是9的数代码#include<bits/stdc++.h>using namespace std;int main(){ int t,n,a,b; cin>>t; while(t--) { cin>>n; a=n/10;b=n%10; if(b>=1&&b<=8)cout<<a<...

2021-07-30 19:08:13 86

原创 codeforces #713(div.3)

代码#include<bits/stdc++.h>#include<iostream>using namespace std;int main(){ int t,n,temp,x,a[200]={0}; cin>>t; while(t--) { cin>>n; for(int i=1;i<=n;i++)cin>>a[i]; temp=a[1],x..

2021-07-27 01:16:57 80

原创 #hdu p2094

https://acm.hdu.edu.cn/showproblem.php?pid=2094思路冠军必须没有输过一次,其次没有输过的人只有一个才能产生冠军;利用map储存每个人输的次数;代码map的查找用find函数来定位数据出现的位置,它返回一个迭代器,当数据出现时,它返回数据所在位置的迭代器;如果map中没有要查找的数据,它返回的迭代器等于end函数返回的迭代器。if(pinpon.find(x)==pinpon.end())//没有该元素map的遍历map..

2021-07-26 19:36:30 34

原创 #并查集 洛谷+atcoder

经典简单题https://www.luogu.com.cn/problem/P3367#include<bits/stdc++.h>using namespace std;int a[20000];int find(int x){ if(a[x]==x)return x; return find(a[x]);}void merge(int x,int y){ int n=find(x),m=find(y); if(n!=m) {

2021-07-25 21:47:06 111

原创 codeforces #725 (div.3)

代码#include<bits/stdc++.h>using namespace std;int main(){ int t,n,ans,mini,maxi; scanf("%d",&t); while(t--) { int mini1=200,maxi1=0,mini,maxi,a[200]={0}; scanf("%d",&n); for(int i=1;i<=n;i++)..

2021-07-25 21:40:17 111

原创 codeforces #731 (div. 3)

V题目就是求两点之间最短距离当遇到三个点x一样或者y一样并且障碍点是夹在两个点之间,答案+2;代码#include<bits/stdc++.h>#include<algorithm>using namespace std;int a[100005]= {0};int main(){ int t,x1,y1,x2,y2,x0,y0; int sum,temp; scanf("%d",&t); while(t..

2021-07-24 13:24:05 158

原创 LibreOj #10014. 「一本通 1.2 练习 1」数列分段 II

经典二分稍作更改#include<bits/stdc++.h>using namespace std;int a[100005]={0};int n,m;bool check(int x)//判断最大值为x时能否分成m段{ int num=1,sum=0; for(int i=0;i<n;i++) { if(sum+a[i]>x) { sum=a[i]; num..

2021-07-24 00:25:21 65

原创 LibreOj #10011.[一本通1.2例1]愤怒的牛

经典二分#include<bits/stdc++.h>using namespace std;int a[100005]={0};int n,m;bool check(int x)//判断距离为x时能否放下m头牛{ int cow=1,temp=a[0]; for(int i=1;i<n;i++) { if(a[i]-temp>=x) { cow++; tem...

2021-07-23 20:00:43 111

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除