摘要:
#题面 #A 简单的数学应用题,分段函数 read(n);read(a);read(x);read(y); ans=min(n,a)*x; if (n>a) ans+=y*(n-a); printf("%lld\n",ans); #B 第一个出现1的位置若是奇数,输出Takahashi,否则输出Ao 阅读全文
摘要:
#题面 P7715 「EZEC-10」Shape #思路 记录每个白点向上,向下,向右拓展距离的最大值,枚举每个H的左边的T字形交叉点,取向右拓展的一段白点的min(向上拓展距离,向下拓展距离),从小到大排序,较短的都对较大的有贡献 #易错点 注意审题!!!H只能竖着,不能横着 H的两条竖杠可以相邻 阅读全文
摘要:
#题面 回文匹配 #思路 ##前置知识 manacher 马拉车 kmp ##O(n*n) 有了上面两种算法的支持,考虑暴力,对于每个奇回文串,暴力找字符串内包含的模式串 核心代码 for (i=1;i<=n;i++) { for (j=i-r[i]+1;j<=i+r[i]-m;j++) if(v[ 阅读全文
摘要:
#1. manacher 马拉车 P3805 【模板】manacher 算法 ##思路 回文串长度有奇有偶,奇回文串有对称中心,那偶回文串呢,所以我们就在每两个字符串之间加一个#,再在整个串前面加一个 % ,这样奇偶串就可以用按一种方法处理了,比如abcd --> %a#b#c#d# 我们可以用O( 阅读全文
摘要:
#题面 戳这里 #思路 把n个字符串用string存,按字典序排序,建一棵trie,再倒序,排序,再建一棵trie 我们发现,对于trie树上的每一个节点,包含它的字符串的序号是连续的,区间左端点是包括这个节点的字典序最小的字符串的序号,区间右端点是包括这个节点的字典序最大的字符串的序号 设正序排的 阅读全文
摘要:
#前言 模板是很久以前过的,每逢大考都重新打一遍,但始终用不上(因为只会抄板子。。。) 这几天刷了一些树状数组的题,有了一些想法 #概念 一个很不严谨的idea:树状数组是一个可以快速简洁地维护会变化的序列的前缀和的数据结构 其主要用途: 逆序对 查询插入某数时刻有多少数大于(小于)某个数,常与离散 阅读全文
摘要:
###DAY -2 晚上有点难睡着,想想入坑oi三年多还是这么菜,唉 ###DAY -1 这是菜鸡的第一次省选 rp++ 上午whk,下午晚上继续打模板 晚上和Vanilla_chan 和tommy0103 出去买了点吃的(防止省选时被饿死),然后吃了饭,顺便聊了聊各自的悲惨挂分经历 他们还提醒我想 阅读全文
摘要:
E - Filters 题解 题面 官方题解 题目大意 给n个a[i],t[i],给q个x[i] fi(x)=x+ai(ti=1) fi(x)=max(x,ai)(ti=2) fi(x)=min(x,ai)(ti=3) 对于每个i(1<=i<=q), 求出 fN(…f2(f1(xi))…) 1<=n 阅读全文
摘要:
2021.2.21 A 题面 较慢但是简单的code for(int a=1;a<=k;a++) for(int b=1;a*b<=k;b++) ans+=floor(k*1.0/a/b); 较快但是很复杂的code(按大小排序剪枝并分类讨论) for (i=1;i<=n;i++) { int tm 阅读全文
摘要:
11.25 T2 棵以 1 为根的有 n 个结点的有根外向树。会进行n-1次操作,每次都会从未删掉的边中等概率选择一条边将其删去。记这条边为 a → b,则删去这条边的代价是删边时 b 的子树大小(包括 b 自己);删去这条边后 b 为根的子树会形成一棵新的以 b 为根的有根树 对于每个点,怎样才会 阅读全文