我好菜啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
啊啊啊啊啊啊啊啊啊啊然后再啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
够了吗好了进入正题了
算了现在实在懒得写
csdn变得好丑啊
一、教育场72 https://codeforces.com/contest/1217
(1)
-26 然后B 搞死了 因为【样例就没完全写出来,纸不够么-。-】
然后为什么样例就不对,感觉很疲软。。。 复制粘贴写到了for循环搞到60几, 我想这应该可了吧?结果??
样例3就卡了一个小时,直到痛定思痛写了个小样例自己看情况,发现是2*2#*3而不是直接2*3,那5的话应该乘的更多。然后t写了个100000的样子。。。 就过了,好险啊。
如果可以换一下思维方式的话,真的是极好的。
其实最好的方法是【样例完全看透之后再下笔】,先写个输入输出什么的 …… 有思路之后再补
然鹅我总是很懒,感觉脑子完全不会转动的,然后就还是边写边逼自己。这样不好。还是要磨炼qvq
(2)
继续写写c吧,中间自己hentai崩了坐不下去,其实emmnmn我的上分大路啊。cc说复试起码要2D的水平好的8 加油油
。。。。好像搞错了。是dasha那场。。。 不及时补,是什么题都忘完了qaq
上面的无视吧,dasha这个。https://codeforces.com/contest/1209/problem/C
then。把1294329074 一类,标1和2,这样把他们重新排序的时候,可以按照11112222(顺序仍然不变) ,但是
整个数组在完美的递增。我呢就是按照012345,。。的顺序标号,记录一个index,一直递增接续是没关系的,直到接着接着忽然接不上了~~ 那就把这个数字作为分隔符。(比如4)
然后记录一下前面的4能到的位置标2(新的开始),后面的4能到的位置标1,这样5就从前面4的位置往后走就可以了。
整体的标号工作可以之后再进行。。 不过也还行8(因为怕标完了给个false;。)
再来写一下代码~
当时的 我好厉害。。 没有记录每个的位置,只是一个小小的first index lastindex就满足了qwq
真是厉害透了。。。 我说怪不得找不到bug
写的时候放大炮 最后真足够gg enough 的。还有找了半天逻辑错误最后因为一个等号。。。
所以是要先想明白再说吗。 。。。
马上accept。。。
【如果可以,我觉得better的方法是先理清自己的逻辑。】起码在逻辑上自己感觉没错误了,那就是代码写的不对,先大致扫一眼有米有奇怪错误?技术真的实施到细节会好一些
虽然这么说做起来也贼难。。。 可怜的dasha这场要不然我就加到哪里了分数
注意1
string和int的转换(java和js真方便啊)
一不做二不休。。。 字符串是‘5’ ,存储也是存的ascii码,
s[i] = ss[i-1] - '0';这样 ‘5’和‘0’的差距也 是5. 然后扔进数组里存储起来-。-
二、前缀和
打死想不出。cc说我没做过类似的题。。 也可能脑子傻掉了什么的qwq
https://codeforces.com/contest/1215/problem/B B. The Number of Products
给你一堆正负正负 问贡献qwq
多列几个情况会发现找规律不行 因为
-1 1 1 1 1
1 1 -1 1 1 所有乘积为负的块 负数个数固定但是总和不同
那么就需要按照贡献来
前缀和是一个数组,记录的是:我前面的和是多少。每个不用管,一直往后乘。。乘。。。乘啊就可以。
原理就是,x1*x2*x3..... 想求 x4*x5*x6的时候 直接1-6/1-3除法得到的就是4-6
所以这样跨区间的来,会相对容易许多~
然后轮到i的时候,i的前缀和是x,想知道和自己相比,前面有几个。。。
看以xn为结尾的数字来。这样每次新增一个,前面的都能囊括,然后因为是以这个为底,所以计算起来也不复杂,直接按照前面的来就好了
最方便的是!只要除一下的话,如果你现在是正的,那么看前面的负数和个数(负负得正嘛),如果你是负数,那么看前面的正数就好,算都不用算 ,统计一下一遍扫过来正好。是不是超级方便1!!!
这个思想很好!!!对8!!!先写写 C看起来也可的样子 不复杂 动脑子