摘要: #include<cstdio> #include<iostream> using namespace std; int n,x,a,b; int main() { cin>>n>>x>>a>>b; double ans=n*(a*x*1.0/100+b*(100-x)*1.0/100); prin 阅读全文
posted @ 2020-02-19 19:43 zlc0405 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 可以把面积为1的好三角形分成两类分开统计:两条边和两个坐标轴平行;只有一条边和某个坐标轴平行。 对于第一种情况,一定是1*2或者2*1的形式,一个1*2的矩形中含有4个不同的三角形。总数是4*((n-2)*(m-1)+(m-2)*(n-1)) 对于第二种情况,可以分别统计底边为2,高为1和底边为1, 阅读全文
posted @ 2020-02-19 19:39 zlc0405 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 假设s可以由t重复k次拼成,即s=tttt……tt,我们称为s=t^k。先给定一个字符串s,求最大的n使得存在t满足s=t^n。 用kmp的nxt数组解决~ #include<cstdio> #include<cstring> #include<iostream> using namespace s 阅读全文
posted @ 2020-02-19 19:25 zlc0405 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 给定一个字符串,求不相同子串个数。每个子串一定是某个后缀的前缀,那么原问题等价于求所有后缀之间的不相同子串个数。总数为n*(n-1)/2,再减掉height[i]的和就是答案 #include<cstdio> #include<cstring> #include<algorithm> using n 阅读全文
posted @ 2020-02-19 19:11 zlc0405 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 可重叠的k次最长重复子串利用后缀数组计算S和height数组然后二分,进行分组~ #include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int maxn=1e6+14; int sa[max 阅读全文
posted @ 2020-02-19 19:06 zlc0405 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 有N(1<=N<=20000)个音符的序列来表示一首乐曲,每个音符都是1..88范围内的整数,现在要找一个重复的子串,它需要满足如下条件:1.长度至少为5个音符。 2.在乐曲中重复出现(就是出现过至少两次)。(可能经过转调,“转调”的意思是主题序列中每个音符都被加上或减去了同一个整数值) 3.重复出 阅读全文
posted @ 2020-02-19 18:29 zlc0405 阅读(102) 评论(0) 推荐(0) 编辑
摘要: B.Harborfan的新年拜访Ⅱ 就是一道tarjan缩点的裸题。 建图比较麻烦 以后遇到这种建图,先用循环把样例实现出来,再对着循环写建图公式 #include<bits/stdc++.h> using namespace std; const int maxn=1014; vector<int 阅读全文
posted @ 2020-02-19 18:17 zlc0405 阅读(119) 评论(0) 推荐(0) 编辑