上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 19 下一页
摘要: 快要THUSC了,来水几道模板题吧。 这题其实是AC自动机模板。看到长度最短,首先就想到AC自动机。那么就直接暴力法来吧,把每个串建立在AC自动机上,建立fail指针,然后由于n<=12,可以把记录的状态压缩一下,就是压缩走到该节点出现了哪些状态,建立fail指针时也顺带更新一下。然后直接从根节点开 阅读全文
posted @ 2019-05-20 22:54 hfctf0210 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 这题七次方做法显然,但由于我太菜了,想了一会发现也就只会这么多,而且别的毫无头绪。发现直接做不行,那么,容斥! f[i]为至少i个极值的方案,然后这里需要一些辅助变量,a[i]表示选出i个三维坐标均不相同的i个极大值的方案数,g[i]表示i个极大的数任意一个至少有一维坐标相同的点的个数,h[i]表示 阅读全文
posted @ 2019-05-20 22:05 hfctf0210 阅读(544) 评论(2) 推荐(1) 编辑
摘要: 这题72分做法挺显然的(也是我VP的分): 对于n,D<=5000的数据,可以记录f[i][j]表示到第i次随机有j个数字未匹配的方案,直接O(nD)的DP转移即可。 对于D<=300的数据,根据转移系数建立矩阵,跑一遍矩阵快速幂,复杂度O(D3logn),不过要注意卡常数,因为是稀疏矩阵可以判掉无 阅读全文
posted @ 2019-05-20 17:58 hfctf0210 阅读(355) 评论(0) 推荐(0) 编辑
摘要: 由于蒟蒻太菜没报上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 阅读(491) 评论(0) 推荐(0) 编辑
摘要: 因为本人rating太低,这场比赛还要记rating就来划水了,果然垫底了。 6题都很水,于是头一次在网赛中AK,不过由于网卡+手速太慢还是成功垫底。 ABE 签到。不贴代码了,因为A考察字符串读入和for循环;B考察if语句的使用;E为这场CF的C题原题 C 枚举掷骰子掷到的点数,然后再暴力搜需要 阅读全文
posted @ 2019-05-19 22:09 hfctf0210 阅读(335) 评论(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 阅读(295) 评论(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 阅读(218) 评论(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 阅读(314) 评论(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 阅读(257) 评论(0) 推荐(0) 编辑
上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 19 下一页