数列编辑器,在线IDE 本期的主题是洛谷的在线IDE 小学生?!小学生虐我…
题面 一道模拟题,模拟CPU的处理过程?!省选模拟题 思路: 模拟退火大法+优先队列乱搞 要注意的点 1.空闲时,CPU要处理进程 2.当队列中没有进程时,要先进行判断,然后访问 3.当优先级高的进程替换掉原进程时,原进程已经处理过的时间要减去 4.结束进程时要更新后面进程的时间 既然是模拟题,那就不讲具体了h^ovny:我懒 Code: #include<bits/stdc++.h> using namespace std; struct node{ int i,S,l,p; node(in…
身为一个蒟蒻,由于刷不过[NOI2001]食物链 于是出门左转写了道另一道假的食物链 戳这里 这里的食物链个条数其实就是有向图的路径数(应该是这么说吧,我弱) 思路: 拓扑(Topulogy)(一本正经的话说八道)+宽搜+乱搞+(由于本人很弱,所以想不出来了)-- 不用先求拓扑序 一边遍历一边用 f数组 统计路径数 存个图,然后队列遍历,要注意的是单独的一个点不算一条链 所以就第一遍把单独的点处理出去(不进队列) 最后的问题就是累加了 如果这个点出度为0时,就 ans+= f[to] 否则更新f…
「THUSCH 2017」大魔法师 狗体面太长,帖链接了 思路,维护一个\(1\times 4\)的答案向量表示\(A,B,C,len\),最后一个表示线段树上区间长度,然后每次的操作都有一个转移矩阵,随便搞搞就成了,卡常 Code: #include <cstdio> #include <cstring> namespace io { const int SIZE=(1<<21)+1; char ibuf[SIZE],*iS,*iT,obuf[SIZE],*oS=ob…
「CTS2019 | CTSC2019」随机立方体 据说这是签到题,但是我计数学的实在有点差,这里认真说一说. 我们先考虑一些事实 如果我们在位置\((x_0,y_0,z_0)\)钦定了一个极大数\(p\),那么我们需要把\(x=x_0\),\(y=y_0\)与\(z=z_0\)的三个平面的交中填上比\(p\)小的数字,这样,剩下的正方体就成了一个长宽高分别为\((n-1)(m-1)(l-1)\)的子问题了. 考虑到我们使用的是数字的相对大小关系,而不是数字的值,也就是说,任意的\(k\)个数字…
无线电联系 Radio Contact 题目描述 Farmer John has lost his favorite cow bell, and Bessie the cow has agreed to help him find it! They both fan out and search the farm along different paths, but stay in contact via radio so they can keep in touch with each-oth…
题面 好难表述啊~ 在n*m的矩阵上,有一些大兵(为0),一些空地(一个正整数),障碍物(-1),现在摧毁一些空地,使所有大兵不能走出矩阵去(代价为表示空地的整数),求最小代价 思路: 网络流最小割 "阻止","最小",看到这样的字眼,肯定就要想到最小割啊 在互相能到达的点之间建边,容量为INF,因为--它不能炸-- 然后把每个点拆成入点和出点,每个兵所在的出点和源点S直接相连,在最外面的点的出点和汇点T直接相连 最后套模板,OK了 最重要的还是建边,能够理解题目的…
题面 一个二叉树,边数为n\((2<n\le 100)\),每条边有一个权值,求剪枝后剩下p\((1<p<n)\)条边,使p条边的权值和最大 还看不懂?-- 2 5 input:5 2 output:21 \ / 1 3 1 3 4 1 4 10 \ / 2 3 20 1 3 5 20 能理解了吧! 思路: 树形打屁DP 很基础的一道树形DP 对于每个点,用f[k][i]记录在以k为根的子树中,取i条枝的最大值 注意: 1.要注意叶子节点的判断 2.有可能只取一侧的子树 Code: #i…
题面 给定圆的半径,求圆上整点数 这是一道很Nice的数学题!超爱!好吧,由于这道题,我去Study了一下复数(complex number)复杂的数 真棒!!! 有兴趣的戳这里!!!\(\huge \to\) 思路: 高斯素数的原理,将整数分解质因数后,再把每个质因数分解成高斯素数,对于质数4n+1,它可以有效的分解成高斯素数,而质数4n+3不能,因为3无法分解为高斯素数,所以当一个数有奇数个3因子时,这个圆上没有整点,而3的个数为偶数时,由于能分成两组配对,所以有整点,但3对Ans的影响为0…
题面 这是一道诡异的黄题 居然让你求一串吧啦吧啦的东西中 字母(大小写)最长的回文串的长度,还要输出完整的串 吐血 思路: 保持淡定,我们啥都不会,就会Manacher,那就用Manacher大法! 1.把字符串处理成只有字母(去皮) 2.把字符串中插入#号(掺假) 3.Manacher跑一跑最长回文串长度(市场检查) 4.求出最长长度后再重新代入原来的字符串(打回原形!妖孽!) 然后,就完了~ 就是去皮的时候,顺便记录一下字符的位置,这样重新代入时就比较方便 并且由于字符串有很多行,读入时就要…