随笔分类 - ACM/ICPC
战斗的日子
摘要:A题,题意是给一个回文串,问有多少个字符删掉,还是一个回文串 这个题看样例,肯定是从中间开始查相同字符的段长度,没啥难度 代码: #include <bits/stdc++.h> using namespace std; constexpr int limit = (3000000 + 5);//防
阅读全文
摘要:题目给出一个字符串和光标所在位置,每次操作可以把光标向左,向右移动或者把当前字符串ASCII值 +- 1 那么问变成回文的最小代价 首先我们观察到,因为我们可以对字符串+或者-,所以显然清理左边和右边没有任何差别,代价都是字符串的距离(这题可以改成只能+1,这样就是一道稍微难一点的题了) 然后我们假
阅读全文
摘要:最近做了下题,作业题目有一道很有意思的题目 [CF 711D](https://codeforces.com/problemset/problem/711/D) 这道题问的是给出一个必存在至少一个环的图里面,每次操作可以选出来一些边,每条有向边可以被反转,然后问最后能让这个图无环的方案有多少种 其实
阅读全文
摘要:template <int M = 1000000007> struct rational{ ll p, q; rational(ll p = 0, ll q = 1):p(p), q(q){} rational operator + (const rational &rhs) const{ ret
阅读全文
摘要:题意是给你一个字符串,每个位置最多只能match k次,然后给你一些字符串,每个字符串有一些权值,每次可以匹配一个子段,匹配完之后子段使用次数 - 1, 分数 += wi 问满足条件下的最大权值 这个问题让我想起来了HDU的某题,好像20年的时候写过,就是区间最大覆盖问题,然后套板子,t了,不懂,遂
阅读全文
摘要:Disclaimer: 这题确实不是我自己做出来的,是wa了n发无果之后看题解,不过彻底整明白了,所以来偷懒写点东西 这道题就是说把一棵树变成链,所需要的最少操作次数,输出最后要删的边和要加的边 其实我刚开始想的是,从节点1开始,然后向下从第二层打top标记,然后选出来其中最长的两个链(如果存在第二
阅读全文
摘要:上周本地比赛,老wf选手都退役了,只剩我们这些22届本科升研究生来参赛了 题目不是很难,11题,比之前的训练赛要简单很多,开场A了4题签到 + 1裸dp + 1做过 + 1xjb乱搞。结果最后一题本来没思路,但是出去上了个厕所之后回来突发奇想,用排序大法乱搞了一波,wa9,然后我接着又写了三个排序,
阅读全文
摘要:复建第一题,上去找找比赛打打,看见某校新生赛正在running就进来转转,反正回复下手感就得从初级题开始,几个月不练的帐也得给补上 A题,水题,切了 #include <bits/stdc++.h> using namespace std; constexpr int limit = (100000
阅读全文
摘要:这个题好像也没有什么好说的,就是一个数列,包含一些陷阱,造成的伤害是那个位置上的数字,你有k次可以跳过去的机会,但跳完之后后面的陷阱伤害就会+1 一开始很好像,我们可以总结一下每个跳过操作对后面造成的影响,首先减去的伤害是a[i], 但是又会增加n - i点其他伤害,所以就按照实际减去的伤害排序就好
阅读全文
摘要:题意很简单,就是给一个数组,找出有多少个对是x ^ y > x & y 首先这题cf味道很冲,感觉当个div2b不是问题,那么我们就来考虑下高位讨论 所以我们可以计算出来每个ai的高位是多少,然后等差数列求和一下就行,最后用总对数减掉高位相同的对数,就是我们要的答案 #include <bits/s
阅读全文
摘要:这个也算是经典老问题了,横轴给了n棵树,每个树高度不同,砍树,可以选择,砍掉往左右任意一个方向倒,或者留着不砍。 前提要求是树如果要砍掉的话,倒下来不能压到树根或者前面放倒的树,问最多能砍掉几棵树。 我本来一上来没思路,想看答案,后来捋了捋,发现还是可做的,要是1500没做出来说明自己也太废了 然后
阅读全文
摘要:本来是想用golang,因为这是工作中的主要语言,不妨试一试打cf,结果写了一题就被劝退了,golang对于打算法竞赛极不友好 首先,golang在cf中,fmt的各种scanf和printf并不直接接收来自于标准输入输出流的内容,所以有些oj由于没有做对STD IO的支持,golang提交上去就报
阅读全文
摘要:好久没写算法了,6.12还得做腾讯笔试,惨 自从工作以来能逐渐感觉到求知欲和对探索的兴趣在逐渐减退,可能大学最有意义的就是让我们在一个相对纯粹的环境里去探索,然后开启一辈子的工作吧 golang乱搞一下,简单dp嘛 先用cpp写了一遍,然后用golang又写了一遍 package main impo
阅读全文
摘要:这个题,属实有点唬人,学妹问我是不是拓扑排序 就是给了一些已经有的材料,和一些and和or的条件,只有满足前缀才能获得后一种材料,问最后能有几种材料 我一开始想的是网络流带上下界,然后看了下过题人数感觉有点问题,因为那么复杂的建图不可能那么多人都掌握 结果看到数据只有1k,不知道为什么想到了bell
阅读全文
摘要:昨天这道题属实有点唬人 没能打成ICPC就场外观战,今年一众oier学弟真是让我开了眼,换到今年我估计无了,不过有luka,感觉我们组队的话可以9题左右 首先是问F(i) = 2-i的非互质数量,问给出一个n,找出一个k属于n,范围1e18,问max(f(k) / k) 然后经过群友的提醒打表之后发
阅读全文
摘要:纪念下第一次在训练的时候自己独立做出来了1800 的dp题,等巩固之后冲一下1900 自闭了一天,也就这题有点搞头 首先题意是给出n个数,要求每个数字都不能和前面的数字相同,每次操作都只能在当前位上+1。其实这个无后效性很明显,我们只需要做好当前位,然后后面从前面转移过来就好 然后还有个问题是不能相
阅读全文
摘要:明天就解除隔离了,今天没啥事儿就来看看,感觉不想干事,那就看看blog吧 A题,机器人有四个方向,碰到墙壁会发生折射,入射角等于出射角,问什么时候碰到目标格子 以为是什么结论题,结果很简单,尬膜就行了,试了一发就AC了 #include <bits/stdc++.h> using namespace
阅读全文
摘要:恢复手感的第二天,一道简单dp 需要注意的是,1和n是相邻的,这个是环形 刚交的时候就WA了三个点,后来想到了一个结论,就是如果1和n相邻,那么这个限制比单纯的链肯定是次优的,所以环形从2 到 n + 1再做一遍就好了 可以滚动数组优化 #include <bits/stdc++.h> using
阅读全文
摘要:本题问的是由n个质数构成的第k大数字,nk小于1e7 这个问题本来想的是尬膜,但是写出来发现无论怎么调就是30分,发现有一些不符合贪心的性质在里面,比如数字到了插空比较大的地方就容易出现最优解被贪心挤掉的问题。 所以我们不妨换个思路,如果能够找到最小的k-1个数字,那么第k个数字一定是最小的。 然后
阅读全文
摘要:果然是被生活压垮的人,即将退役和告别大学生活了 早上放下了GRE来看题,写了两个小时就又不得不去学gre了,希望330+ 比赛开始20分钟之后才到自习室,然后这个时候排名已经1100开外了 第一题,一看,问最长的等差数列长度,给了公差,所以拿map记录一下就好了 #include <bits/std
阅读全文

浙公网安备 33010602011771号