A fresh start.

分类 OI 下的文章

December 8, 2018

UVA1292 Strategic game

跟舞会那道题差不多,如果父节点没有取那么所有子节点都必须取;如果父节点取了,子节点取或不取皆可。$$\begin{cases} f[i][1]=\sum \min(f[j][0],f[j][1]) \\ f[i][0]=\sum f[j][1] \end{cases}$$需要注意的是题目中已经把子树说明了,这就意味着只能有一个点作为根节点,所以应该连单向边,并且事先找到那个点作为根节点。st...
December 7, 2018

洛谷1122 最大子树和

题目链接:https://www.luogu.org/problemnew/show/P1122大水题,题意就跟题目名一样,决策就是对于节点 $x$ 是否取当前搜到的儿子 $y$ ,显然要当前子树和要大于0我们才会取,然后dfs即可。方程式:$$f[x]+=max(f[y],0)$$struct Edge{ int next,to; } edge[32005]; int s[1600...
December 6, 2018

洛谷2014 选课

题目链接:https://www.luogu.org/problemnew/show/P2014似乎有直接树形dp的做法,但我还是多叉转二叉做的。我们用 $f[x][cnt]$ 表示当前x节点,在以 $x$ 为根的子树中选 $cnt$ 个节点。对于每一个节点,可以有选和不选两个选项,如果不选就把 $cnt$ 全都给兄弟节点,也就是右节点;如果要选就把 $cnt$ 分别分配给 $x$ 的兄弟和...
December 6, 2018

POJ3437 Tree Grafting

我在做某题的时候看到有个多叉树转二叉树,就去学了下,看的这篇文章:https://blog.csdn.net/c20190102/article/details/69946551然后就去找了这道题做,最开始想法是建了树以后转成二叉树然后再dfs得到深度,然后发现有点问题,因为链式前向星是逆序存边的,于是就改用临接表,然后t了很多发,不知道有多少组数据啊。去看题解发现转成二叉树以后每个树的深度...
December 3, 2018

[SCOI2009]生日快乐

链接:https://www.luogu.org/problemnew/show/P4160https://www.lydsy.com/JudgeOnline/problem.php?id=1024我一看到wxh大佬题单里一道斜率优化一道cdq就果断跳过,然后终于找到一道可做的了。我一开始没看到相同面积,心想搜索时间复杂度怕是要爆炸,但也没想出其它方法,然后看了题解才发现是相同面积,那直接搜...
November 29, 2018

洛谷1024 一元三次方程求解

最开始我zz的想法是直接把整个区间二分,但后来才发现只能找到一个。然后看了下题解,因为每个长度为1的区间只可能有一个解,所以直接枚举每一个长度为1的区间来二分即可。只需要注意区间不能重复,所以可以把右端点减一个很小的数即可。我犯的最智障的错误莫过于用快读来读了double。。。而且改了半天今早才想起,感觉白学OI了。#define eps 1e-2 double a,b,c,d,ans[5...
November 28, 2018

洛谷1498 南蛮图腾

昨天做了,为了抢夜宵就没写自己做了半天,感觉及其恶心,就去看了题解,发现了一种及其巧妙的写法。这种写法的原理就是按照2的整数幂次将一共 $2^{n}$ 行分成 $n$ 组来操作,操作就是把之前的图形左右各复制一个即可,只是要注意要在前后加上空格。int n,m; string ans[1100]; inline void work(int x) { int mx=x*2; ...
November 27, 2018

洛谷1010 幂次方

NOIp才考了(好吧是我把它做成了)分治,再加上我分治也不太熟悉,就先做下分治。虽然是一道普及-,但细节还是廷考验人的,再加上很久没打题了所以搞了很久。思路就是找到原数所能分出的最大的2的整数幂次方,然后将幂次数和剩下的分治处理即可。细节就是2(2(0))应该直接写成2int n; void work(int x) { if (x==0) { printf(...
November 20, 2018

NOIp2018总结

NOIp2018情况$$ 100+40+10+64+15+4=233 $$感觉分数就像个玩笑一样,不过今年NOIp确实给我开了一个玩笑,D1T2人人都会的傻逼题我只有40,D2T2推出了部分规律又把快速幂打爆了(开了bits而且函数名用的小写pow),D2T1也写爆了。我个人感觉D1T2的爆炸是主要原因,导致D2整个心态都是崩的 (心态崩了我要妹子)。而D1T2我觉得可能有点心态的原因,考前...
October 19, 2018

高精度算法

只是发个板子。虽说似乎NOIp近几年一般都是取膜而不是高精了,但我还是担心会考,所以就复习了一下。定义用struct储存整个数和位数。整个数全部倒序方便计算。struct bigint{ int s[5005],len; bigint(){memset(s,0,sizeof(s));len=0;} };加法inline bigint add(bigint x,bigint y...