自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Carry_hkr的博客

Go For 省一!

  • 博客(55)
  • 资源 (2)
  • 收藏
  • 关注

原创 我的python错题本

sortinp=input().split()inp.sort()#对string类型排序a,b,c=map(float,inp)直接sort会导致对string排序,100比6要小,所以我们得先转化成listinp=list(map(float,input().split()))inp.sort()a,b,c=map(float,inp)

2022-01-19 00:25:29 457

原创 【区间DP】POJ2955.Brackets

题目POJ2955.BracketsWe give the following inductive definition of a “regular brackets” sequence:the empty sequence is a regular brackets sequence,if sss is a regular brackets sequence, then (s) and [s] are regular brackets sequences, andif aaa and bbb a

2022-01-18 23:14:46 345

原创 【双端队列广搜/搜索+图论】AcWing 2019.拖拉机 USACO 2012 March Contest Silver Division

双端队列广搜

2022-01-18 22:37:04 342

原创 【线性基】[BJWC2011]元素题解

线性基例题题解

2022-01-10 18:10:01 418

原创 线性基的理解与模板

线性基

2022-01-10 17:48:05 374

原创 汇编语言 实验四 子程序结构

中国地质大学(北京)汇编语言上机实习

2021-12-16 17:23:09 1303

原创 汇编语言 实验三 循环结构和分支结构程序设计

汇编语言 8086/80x86

2021-12-09 20:29:37 2635

原创 C++程序设计1-4章

中国地质大学(北京)C++程序设计课程

2021-12-09 19:17:28 718

原创 2021 RoboCom 世界机器人开发者大赛-本科组(初赛)题解

写在前面 这是一个新的比赛,上周六考了4个题,虽然晋级了后面的比赛,但是情况很不理想,我觉得进入最后的决赛有点危险了,补一下这四个题,我觉得挺好的,正好反思反思自己。 虽然说这是天梯赛L2的难度,但是我当时考试的时候感觉并不好,只A了第一个题,觉得应该是L3的难度,但是自己后面补题发现没有到L3难度,大概在L2-L3之间。总的来看,第一题A了,第二题17分,不知道哪里写错了,后面补题也wa了一个点(好多人都是没有A),第三题是图论,我当时看错题了,只有16分,跑dij也不...

2021-10-13 20:04:02 5082 2

原创 浮点数比较模板

有的时候会遇到精度问题,但是我没怎么遇到过... double eps=1e-8; inline int sgn( double x) {//和0比,大于返1等于返0小于返-1 return (x > eps) - (x < -eps); } //x = 0 写成 sgn(x) == 0 //x < 0 写成 sgn(x) < 0 //x > 0 写成 sgn(x) > 0 ...

2021-09-17 20:25:15 92

原创 Codeforces Global Round 16 A-E 部分题解

开学第一场cf,有点小兴奋,哪怕第二天有早八也毅然决然的打...但是,三点半也没睡着觉...

2021-09-15 00:17:12 196

原创 模拟退火算法(Simulated Annealing,SA)

好久没有写博客了,打了很多比赛有的时候又没有补题,昨天进一步了解了模拟退火算法,在这里写下我的总结。

2021-09-13 21:00:34 401

原创 牛客练习赛87 总结

A-中位数(贪心)题目链接A-中位数_牛客练习赛87 (nowcoder.com)题意思路 其实就是一串数字,删去一个加到另一个上,求中位数,这里的中位数如果总数是偶数的话那么就去中间靠右的,实际上按照题目的式子即可。 很容易能用贪心得到每一次最优的方案就是让次大的加到最大的上,最大的一直堆,那么经过k次就减少k个数,这里特判一下如果只有一个的话,那么就输出总数。代码inline void Case_Test(){ ...

2021-08-21 17:32:50 262

原创 Codeforces Round #739 (Div. 3) 反思

目录写在前面——反思A. Dislike of Threes题目链接题意思路代码B. Who's Opposite?题目链接题意思路代码C. Infinity Table题目链接题意思路代码D. Make a Power of Two题目链接题意思路代码E. Polycarp and String Transformation题目链接题意思路代码反思写在前面——反思这...

2021-08-19 23:28:41 136

原创 两球的体积交

两球的体积交 double ans = 0; for (int i = 1; i <= n; i++) { double d = dis(s, a[i]); if (d >= s.r + a[i].r) { continue; } else if (d + a[i].r <= s.r) { ans += (4.0 / 3)*pi*a[i].r*a[i].r*a[i].r; } else { double c

2021-08-19 22:30:20 346

原创 两圆的面积交

为了比赛的模板#define pi acos(-1.0) typedef struct node{ int x; int y;}point; double AREA(point a, double r1, point b, double r2){ double d = sqrt((a.x-b.x)*(a.x-b.x) + (a.y-b.y)*(a.y-b.y)); if (d >= r1+r2) return 0; if (r1>r2) { double

2021-08-19 22:25:16 211

原创 Educational Codeforces Round 111 (Rated for Div. 2)总结

比赛链接Dashboard - Educational Codeforces Round 111 (Rated for Div. 2) - CodeforcesA -Find The Array题意 给出一个有n个元素的数组,如果元素不为1的话,那么就询问a[i]-1和a[i]-2是否在数组里面。求给出总数和为s,元素个数最少的是多少。思路 最优的情况就是1,3,5,...这样可以“消耗”更多的s,进而能保证元素最少,那么可以看出1+3+...

2021-07-15 21:03:37 177

原创 Codeforces 978B - File Name AcWing 3768.字符串删减 每日一题 7.15

题目3768. 字符串删减 - AcWing题库给定一个由个小写字母构成的字符串。现在,需要删掉其中的一些字母,使得字符串中不存在连续三个或三个以上的。请问,最少需要删掉多少个字母?如果字符串本来就不存在连续的三个或三个以上,则无需删掉任何字母。思路 这个题不想多说,实在是太水了代码#include<stack>#include<cstdlib&gt...

2021-07-15 19:45:46 140

原创 Codeforces 1321A - Contest for Robots AcWing 3767. 最小的值 每日一题7.14(贪心)

题目3767. 最小的值 - AcWing题库给定两个长度为的数组和。请你构造一个长度为的正整数数组。要求成立。此外,需要尽可能小。输出最小可能值。思路 对于每一位对位一共有四种情况,分别是<0,0>,<1,0>,<0,1>,<1,1>两两组合,其中<0,0>和<1,1>是没有意义的,因为他们对于任何一个对于求和都是相等的,所以我们考虑01,与10。...

2021-07-14 20:08:32 98

原创 『莫队算法』 - 求区间内个数为k有多少个/不同种个数 - P1972 [SDOI2009]HH的项链 SP3267 DQUERY - D-query(数据较弱)

莫队算法 莫队,莫涛,长郡中学学生,算我半个学长了,后进入清华大学学习,IOI中国国家队队长发明了“莫队算法”,在国外名字叫做"Mo's Algorithm"。莫队算法的精髓就是通过合理地对询问排序,然后以较优的顺序暴力回答每个询问。处理完一个询问后,可以使用它的信息得到下一个询问区间的答案。 我们设置一个结构体,存储我们需要的变量,有l,r,id,可能还有其他的。struct Mo{int l,r,ID,k;int ans;}q[N...

2021-07-14 10:25:57 407

原创 Code forces 1328C - Ternary XOR AcWing 3764. 三元数异或 每日一题7.13(思维+贪心)

题目3764. 三元数异或 - AcWing题库题意思路代码

2021-07-13 19:51:21 121

原创 Codeforces Round #731 (Div. 3) 总结

比赛链接Dashboard - Codeforces Round #731 (Div. 3) - CodeforcesA. Shortest Path with ObstacleProblem - A - Codeforces题意 给出三个点A、B、F的二维坐标,问你A和B两点不经过F的最小距离。思路 首先先算出AB两点之间的举例,判断F是否在中间,如果在就+2,不在就不动。 变量一多我就有点晕,几分钟...

2021-07-13 10:34:59 258

原创 Codeforces 1447B - B. Numbers Box Acwing 3763.数字矩阵 每日一题7.12

题目 Codeforces链接Problem - 1447B - Codeforces AcWing链接3763. 数字矩阵 - AcWing题库思路 如果一个n*m的矩阵里面有许多分散的负数,我们可以两两交换使得负数接近,那么我们就看是否有两个两个配对,也就是负数是奇数还是偶数,这时候我们把0也算上,把0看作一个负数,对答案不影响,而且还更好,减去一个0。代码#include<stack>#includ...

2021-07-12 20:11:17 137

原创 AcWing第七周周赛题解

A - 3758. 距离零点的时刻题目 题目链接已知当前时钟的显示时间为小时分(小时制时间格式),请问多少分钟后,时钟会第一次变为时分。思路 代码#include<stack>#include<cstdlib>#include<cstdio>#include<algorithm>#include<cmath>#include<queue&gt...

2021-07-12 11:51:42 146

原创 Codeforces 1454B - Unique Bid Auction AcWing 3761. 唯一最小数 每日一题 7.8

B. Unique Bid Auction1 second 256 megabytesThere is a game called "Unique Bid Auction". You can read more about it here:https://en.wikipedia.org/wiki/Unique_bid_auction(though you don't have to do it to solve this problem).Let's simplify...

2021-07-10 12:00:59 205

原创 Codeforces 1440C1 - Binary Table (Easy Version) (思维) Acwing 3762. 二进制矩阵 每日一题7.9

C1. Binary Table (Easy Version)1 second256 megabytesThis is the easy version of the problem. The difference between the versions is in the number of possible operations that can be made. You can make hacks if and only if you solved both versions of t..

2021-07-10 11:49:56 151

原创 牛客练习赛86 C - 取钱(贪心)

题目题目描述某个国家的货币体系里有种面值不同的纸币,从小到大面值分别是当取款人去机取款元的时候,机按一种贪心的策略给取款人发放钞票,策略如下:首先,已发放钞票的集合是空集,每一次 机都会放一张当前可以放的最大面值的钞票进去,一直到集合里纸币面额等于,然后将集合里的纸币吐给取款人。现在这个国家的公民觉得用钱把裤兜装的满满的会很有面子,但是他们又不想取出太多钱。现在他们问你:在最多取元的情况下,最多可以获得多少张纸币。输入描述第一行一个正整数,表示钞票的面值数第二行个正整...

2021-07-10 11:24:46 125

原创 Codeforces 846A - Curriculum Vitae

题目A. Curriculum Vitae1 second 256 megabytesHideo Kojima has just quit his job at Konami. Now he is going to find a new place to work. Despite being such a well-known person, he still needs a CV to apply for a job.During all his career ...

2021-07-09 17:04:45 130

原创 Codeforces 165C Another Problem on Strings(尺取法)

题目题目链接Problem - 165C - CodeforcesC. Another Problem on Strings2 seconds 256 megabytesA string isbinary, if it consists only of characters "0" and "1".Stringvis asubstringof stringwif it has a non-zero length and can be read sta...

2021-07-09 12:02:47 194

原创 分块入门总结

前言 这一切都是基于「分块」数列分块入门1 – 9,也就是对其的总结。链接#6277. 数列分块入门 1#6278. 数列分块入门 2 - 题目 - LibreOJ (loj.ac)#6279. 数列分块入门 3 - 题目 - LibreOJ (loj.ac)#6280. 数列分块入门 4 - 题目 - LibreOJ (loj.ac)#6281. 数列分块入门 5 - 题目 - Li...

2021-07-09 10:32:31 357

原创 数列分块入门9 LibreOj 6285

题意给出一个长为的数列,以及个操作,操作涉及询问区间的最小众数。思路 我们需要统计数字x出现了多少次,我们用一个统计数组来使得a[x]++,但是这里面数字太大,我们首先需要用到离散化处理,反正最多才1e5的数字。我们读入一个数a[i],如果a[i]没有出现过,那么就用map存下他的位置,然后再用val数组存这个位置存的值;如果出现过,那么a[i]就存map里面的值,也就是存下它第一次出现的位置,最后将其塞入vector里面。这样a[i]存的就是[1,1,1,2,...

2021-07-09 10:10:53 253

原创 数列分块入门8 LibreOj 6284

题意给出一个长为的数列,以及个操作,操作涉及区间询问等于一个数的元素,并将这个区间的所有元素改为。思路 我们这里用flag标志数组,其作用类似于之前的lazy数组,如果,那么代表这一块还没有被整体赋值,如果,那么代表这一块是整体赋值了的,如果flag[i]==c,那么代表这一块都是c,那么ans+=block(块的长度);如果flag[i]!=c,那么就更新为c,ans不变化。 对于不完整块,我们首先看flag是否更改过,如果更改过,那我们首先先r...

2021-07-09 09:47:16 220

原创 数列分块入门7 LibreOj 6283

题意给出一个长为的数列,以及个操作,操作涉及区间乘法,区间加法,单点询问。思路 这个问题一开始把我搞蒙了,因为乘法加法是由优先级的,并不是两个数组一直堆,一个一直加一个一直乘,最后查询在统一计算,比如,让我们来列一个表格来看看具体怎么操作。 但是我们还是需要设置两个数组,一个是mul,一个是sum,mul是来存乘的,sum是用来存加的。表达式 ...

2021-07-08 15:49:13 191

原创 数列分块入门6 LibreOj 6282

题意给出个数的数列,有个操作,操作涉及到单点插入和单点查询思路 这里应该就不能用数组模拟每一块了,因为我们要是插入一个值,得将后面的值全部往后移,如果我们用vector的话,我们只需要用insert函数,将vector[i]这一块的里面该值后面的往后移,这样时间复杂度最大超过。 考虑到极端情况,如果疯狂往一个块里面插入数字,那么最后时间复杂度跟全部移没有什么太大差别了,那么我们就重新分块,对,重新分块,我们设置一下条件,如果当前块的长度大于,我们就...

2021-07-08 11:41:51 160

原创 数列分块入门5 LibreOj 6281

题意 给出个数的数列,有个操作,操作涉及到区间开方和区间求和思路 不要被区间开放搞懵了,题目给了最大的是,那么就来看看最多多少次能够开方到1,,实际上最多六次即可,那么我们设置一个数组来判断是否都为1了,如果都为1了,那么我们就在对于中间完整块求和的时候,我们直接加上block(区间长度)即可。 那么要是不为1呢,我们继续用数组来求区间和,在的时候即可初始化,对于每一次暴力开方的时候,我们首先先用区间和()减去,然后进行开方,然后我们用加上这样我...

2021-07-08 11:15:32 155

原创 数列分块入门4 LibreOj 6280

题意给出个数的数列,有个操作,操作涉及到区间加法和区间求和,对(+1)进行取模思路 区间加法依旧是用数组,区间求和我首先想到的是前缀和,对于每一块我们用前缀和,但是我们对于不完整块都是用暴力解决的,所以我还是放弃了前缀和的方法,设置了一个数组来统计块的和,如果对于完整的块我们直接加上和(block是块的长度),这样的话就可以完成区间求和的操作,好吧,这是线段树可以轻而易举的做到,但这里写的是分块。代码#include<stack>#inclu...

2021-07-08 10:53:16 192

原创 数列分块入门3 LibreOj 6279

题意 给出个数的数列,有个操作,操作涉及到区间加法和求区间前驱(小于的最大值)思路 区间加法还是跟前几题一样用数组标记,同入门2求小于的个数,那么我们还是将每一块进行排序,然后用二分的方法去查找,这样的时间复杂度并不高。代码...

2021-07-08 10:39:07 263

原创 数列分块入门2 LibreOj 6278

题意 给出个数,有次操作,每次操作可以是将区间加上某个数,或者查找区间内小于某个数有多少个思路 有了数列分块入门1的思路之后,我们继续将区间内加上某个数用标记,我们用a存数组,多设置一个b数组来“复制”a数组,并对每块进行sort排序(时间复杂度是),一共有块,所以时间复杂度是。 对于b数组,我们每一次修改a数组之后就进行复制,注意:是对整块的复制,因为b数组是有序的,对于完整的块我们只需要用来记录,不需要整个加法,最后查询的时候我们可以转化为查询比...

2021-07-06 00:47:42 218

原创 数列分块入门1 LibreOj 6277

题目描述给出一个长为的数列,以及个操作,操作涉及区间加法,单点查值。输入格式第一行输入一个数字。第二行输入个数字,第i个数字为,以空格隔开。接下来输入行询问,每行输入四个数字、、、,以空格隔开。若 =1,表示将位于 的之间的数字都加 。若 =0,表示询问的值(和忽略)。输出格式对于每次询问,输出一行一个数字表示答案。样例Input Output 41 2 2 30 1 3 11 0 1 00 1 2 21 0 2 0 ...

2021-07-05 19:51:32 170

原创 LIS(最长不下降/上升子序列)与LCS(最长公共子序列)

LIS LIS即最长上升(不下降)子序列,最主要的是一个d数组,d[i]表示的是长度为i,也就是从1到i,第i位最小的值。 比如一个a数组={3,2,1,2},那么从前往后扫,一开始d[1]=3,因为长度为1的话,3是满足最小的条件,当指到2时候,进行维护,d[1]=2。也就是说,长度为1的话,最小的是2就可以满足了,同理,当a[i]=1时候,d[1]更新为1,因为长度为一,最后那一位是1即可满足。为什么会这样呢,接下来看下一位的2,它比d[1]要大,那么长度就+1,d[...

2021-07-03 21:01:28 788

核电站问题「he」题解递推

核电站问题「he」题解递推

2017-07-29

排列的字典序问题「Permrank」题解

排列的字典序问题「Permrank」题解

2017-07-24

空空如也

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

TA关注的人

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