上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 18 下一页
摘要: 由于蒟蒻太菜没报上CTS,只能在家打VP。 感觉这题挺有意思的,5h中有3h在玩这题,获得74分的“好”成绩。 说说我的做法吧: subtask1~3:手玩,不知道为什么sub2我只能玩9分,但9和10没什么区别我也没管了。 subtask4:首先发现矩形只有x*y的,其中1<=x<=y<=4,然后 阅读全文
posted @ 2019-05-20 16:37 hfctf0210 阅读(481) 评论(0) 推荐(0) 编辑
摘要: 因为本人rating太低,这场比赛还要记rating就来划水了,果然垫底了。 6题都很水,于是头一次在网赛中AK,不过由于网卡+手速太慢还是成功垫底。 ABE 签到。不贴代码了,因为A考察字符串读入和for循环;B考察if语句的使用;E为这场CF的C题原题 C 枚举掷骰子掷到的点数,然后再暴力搜需要 阅读全文
posted @ 2019-05-19 22:09 hfctf0210 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 快AFO了才第一次写二次剩余的题…… 显然应该将Fn写成通项公式(具体是什么写起来不方便而且大家也都知道),设t=((1+√5)/2)n,T=√5N,然后可以得到t-(-1)t/t=√5N,两边同时乘t,移项,得到t2-√5Nt-(-1)n=0。分别讨论n是奇数或偶数的情况,通过求根公式求t,写个二 阅读全文
posted @ 2019-05-18 21:36 hfctf0210 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 首先本题的关键是一次性加0操作只有第一个0是有用的。然后对于1 k操作,其实就是把之前的所有数删除。对于其他的情况,维护一次函数的和,将(i,a[i])看成平面上的一个点,用单调栈维护一下。 #include<bits/stdc++.h> using namespace std; const int 阅读全文
posted @ 2019-05-18 08:30 hfctf0210 阅读(294) 评论(0) 推荐(0) 编辑
摘要: 由于d很小,所以可以把每个点拆成d个点,然后对于边(x,y),连边时连接((x,i),(y,i+1))及((x,d),(y,1))。然后可以对这样连的边跑一遍tarjan缩点。然后直接暴力DP即可。不过当时比赛时不知道为什么一直写挂然后掉分了,后来发现用vector特别占用内存,要改成邻接表写。 # 阅读全文
posted @ 2019-05-17 10:13 hfctf0210 阅读(217) 评论(0) 推荐(0) 编辑
摘要: A 签到 #include<bits/stdc++.h> using namespace std; int T,n; char s[10001]; int main() { scanf("%d",&T);while(T--) { scanf("%d",&n); scanf("%s",s+1); in 阅读全文
posted @ 2019-05-16 17:36 hfctf0210 阅读(311) 评论(2) 推荐(0) 编辑
摘要: A 签到贪心题,特判了n=1或m=1的情况才发现2<=n,m<=1e5 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int N=1e5+7; int n,m; ll ans,a[N],b[N]; i 阅读全文
posted @ 2019-05-15 08:20 hfctf0210 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 首先可以把题目转化一下:把树拆成若干条链,每条链的颜色为其所在的树的颜色,然后排放所有的链成环,求使得相邻位置颜色不同的排列方案数。 然后本题分为两个部分:将一棵树分为1~n条不相交的链的方案数;将这些链安排顺序使得不存在两条相邻的链来自同一棵树。 第一部分显然可以O(n2)树形DP,f[i][j] 阅读全文
posted @ 2019-05-14 21:20 hfctf0210 阅读(781) 评论(1) 推荐(0) 编辑
摘要: 考虑k=1的做法:这是一道原题,我还写过题解,其实挺水的,但当时我菜还是看题解的:https://www.cnblogs.com/hfctf0210/p/10187947.html。其实就是树上差分后值为1。 考虑k>1的做法:其实可以再次树上差分,给每个点i赋值v[i]=dep[i]k-dep[i 阅读全文
posted @ 2019-05-13 21:55 hfctf0210 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 二进制分组SB做法没意思还难写还可能会被卡常其实是我不会写。用一种比较优秀的O(Tnlogn)做法,只需要做2次dijkstra。对原图做一次、对反图做一次,然后记录每个点的最短路是从k个源点中的哪个转移过来的。然后枚举每条边,若两边转移过来的源点不同,则用d1+w[i]+d2来更新答案即可。 #i 阅读全文
posted @ 2019-05-13 21:49 hfctf0210 阅读(202) 评论(0) 推荐(0) 编辑
上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 18 下一页