• 等级
  • 10406 访问
  • 89 原创
  • 4 转发
  • 71729 排名
  • 14 评论
  • 7 获赞

Codeforces Round #551 (Div. 2)

A.一开始想用暴力来解决,但是应该要用数学来打败数学,计算每一种车最接近但是不小于t的时间然后取最小值#include<bits/stdc++.h>usingnamespacestd;intmain(){inta[120],b[120],c[120];intn,t,p,q;cin>>n>>t;...

2019-05-07 17:26:43

CodeForces - 1104D

交互题,二分一开始做的时候,没有思路,但是我知道用的应该是二分,但是卡在了取模操作。做法是:用二分区间试探,每次从[0,1]、[1,2]、...[2^k,2^k+1].在这一题上,锁定二分区间。之后,在区间中用二分法得到答案;#include<bits/stdc++.h>usingnamespacestd;strings;intmain(){...

2019-05-07 10:17:15

Codeforces Round #534 Grid game

我一直没看明白题目意思,我以为是求在放置两个方块的过程中求与其他方块最小的相交的行数和列数。。。。。偏了十万八千里。。。。。其实题目的意思是,让我求在防止方块的过程中,不让方块重叠的情况下,每一个方块所在的最小行数和列数。题解:我看了网上大神的代码,感到很神奇。其实你只要让前两行或者后两行专门放置一种方块即可。。。。这样时间复杂度就是O(N)....反思:还是太菜了,连题目...

2019-04-29 19:46:05

CodeForces - 777D

一道思维水题,但是我做的时候,tle了。。。之前的思路是从后往前一个一个比较字符串的字串,很明显超时,但是没有注意到。。。题解:因为字符的总个数不会超过500000,所以,可以从后往前一个一个比较字符,若相同,比较下一个,小于,比较下一个,大于,分两种情况:1:前面的都相同,那么就把后面的都删去2:前面的不全相同,那么后面的都加上错误代码:#include<b...

2019-04-29 10:37:49

CodeForces - 777C

思维:预处理,时间复杂度O(k)一开始我用预处理+暴力,结果TLE100...后面搜索到题解,才知道可以算出以r为边界行上能到达的最上端的行+预处理即可。。。思维还是太僵硬了。。。。错误代码:#include<bits/stdc++.h>usingnamespacestd;constintN=100000+20;intn,m,k;ve...

2019-04-28 21:40:48

CodeForces - 631E

知识点:三分+凸包三分法就是取区间的两个三等分点,然后不断逼近,时间复杂度是O(log3/2n)凸包就是单峰函数(可上可下),三分就是对严格凸包做逼近操作(要规定精度)。下面的代码还没到弄明白,以后再说吧:#include<bits/stdc++.h>#definerep(i,x,y)for(inti=(x);i<=(y);i++)#definel...

2019-04-28 17:09:58

The 16th Zhejiang Provincial Collegiate Programming Contest (Element Swapping)

B.ElementSwapping这道题目,我看错了题意,我以为是交换多次,实际上是交换一次。我们先设x=ai*i+aj*j,x'=aj*i+ai*j则有x-x'=(i-j)*(ai-aj)同理,y-y'=(i-j)*(ai^2-aj^2)两个相除(假设分母不为0),得到(y-y')/(x-x')=ai+ajPS:1.注意分...

2019-04-28 14:37:54

CodeForces - 631C

我做的时候毫无头绪。后面看到别人竟然可以用单调栈做,觉得很不可思议,但其实逻辑上并没有错。我参考了一位红名大佬的代码,时间复杂度是O(n),这个代码的巧妙之处在于:1.去掉了多余的操作,比如,若存在操作i和操作j,(i<j),而且r【i】<r【j】,那么操作i就是没用的,因为被j覆盖了2.使用两个数组,b【i】=x,表示操作长度为i,它的单调性是x,c【j】...

2019-04-26 20:35:18

CodeForces - 758D

很显然是贪心做法,从后往前取不超过n的数再乘上权重,相加即可。我做的时候也是想从后往前,但是我想用的是dp,用dp【i】【j】表示倒数第i位作为第j各权重的最小值#include<bits/stdc++.h>#defineINF0x3f3f3f3fusingnamespacestd;typedeflonglongll;llans;ll...

2019-04-25 13:10:16

CodeForces - 711E

这是一道非常好的数论题目:题解:知识点:1.鸽巢原理2.逆元3.勒让德定理(请自行百度)4.gcd转换公式5.暴力一开始我知识列了公式,但是就没法做下去了,其实,这一题的突破点在于gcd公式的灵活运用,我在这一方面还是欠缺啊。除此之外,pow函数在longlong的运算中,不能直接代入,而要用一个变量来保存,我在这个上面debug了好长时间。。。。...

2019-04-24 21:42:04

CodeForces - 758C

做这道题目的时候,我只顾着分类讨论了,可想而知,分类思想是对的,但是分支太多,极容易出错,又因为此题的数据量小,故可以通过暴力得到每一个点的次数。在这里,周期T等于1->n->2的循环,最后,比较大小即可得到答案。以后,碰到这种要分很多情况讨论的问题,先要找出规律,不能直接代码,否则事倍功半。#include<bits/stdc++.h>#de...

2019-04-23 19:37:39

CodeForces - 711D

题目意思:给你一个有向图,顶点从1到n编号。边的形式是:1->x12->x2...n->xnx1,x2..xn是1到n问,若可以改变边的方向,那么有多少种有向图满足途中没有循环路径?显然,答案=2*(连通环1边数-2)*2*(连通环2边数-2)....*2^(不构成连通环的边数)接下来,就是bfs判环在本题中,图中存在环的条件...

2019-04-22 22:27:08

CodeForces - 711C

#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;constintN=120;constintMAXN=1000002000;intcolour[N],n,m,k;intcost[120][120];lldp[120][120][120];intmain(){...

2019-04-22 16:16:29

接下来的博客的风格

之前,由于太过沉浸于算法和模板,在网络赛中被各种吊起来锤。于是,我痛定思痛,决定不再专注于死板的已有的算法和模板,而是着力提升自己的思维水平,增强对题目的理解能力。以后的博客的知识量将会大幅缩水,但是对题目的理解和算法的设计将会是新的亮点,其实也本该如此。...

2019-04-20 17:24:36

HDU2082

常生成函数-模板题#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;intnum[30];lla[55],b[55];intmain(){intt;scanf("%d",&t);while(t--){for(inti=1...

2019-04-19 09:40:53

一些有趣的数学公式

我在蹲坑的时候想到了一个问题:有a个人要上厕所,厕所里有b个门,规定每个门内最多一个人上厕所,有多少种上厕所的方式?会的大佬,求答案我问了苏大佬,他说,可以这么算:STEP1:第一个人有b个选择STEP2:第二个人可以选择空位(b-1)个,也可以选择等第一个人出来(然后交换两个人之间的次序)就是2个选择STEP3:以此类推,有A(a+b-1,b-1)...

2019-04-18 14:22:41

中国剩余定理

中国剩余定理分为了两种类型:一:模数两两互质的中国剩余定理二:模数不是两两互质的中国剩余定理

2019-04-16 22:28:31

第三次模拟比赛(湘潭邀请赛第二次选拔赛)

G-NestedDolls题目意思:题目解题思路:这是一个贪心题目,首先对h或者w按照从大到小排序,如果两个值相同,按照另一个值从小打大排序。之后两个for循环和一个vis标记即可#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>us...

2019-04-15 20:09:10

Lucas定理

2019-04-15 13:43:42

具体数学-求和

1.求和的三个定律"2.Iverson约定形式3.摄动法合并不相交和式4.摄动法分离一个单独项5.多重和式的分配律6.多重和式的次序交换(一)适用于J,K相互独立7.多重和式的次序交换(二)且必须满足:8.一个有用的变形9.(...

2019-04-15 13:18:38

Ivanzn

关注
奖章
  • Github
  • 持之以恒
  • 勤写标兵Lv1
  • 勤写标兵Lv3