程序竞赛
中梓星音※
早稻田大学 应用数学 和 情报理工 学部生
展开
-
Codefources Round 609 Div2 C Long Beautiful Integer
原题链接思维陷阱原以为9 6123456789的答案应该是124000124但其实应该是123457123完整代码地址#include<bits/stdc++.h>using namespace std;//省略一些宏//---------------------#define MAXN 200005//--------------------- ll...原创 2019-12-22 00:20:08 · 116 阅读 · 0 评论 -
AGC040 B Two Contests 最大最小傻傻分不清楚~
题目链接等价命题:给定一些整数区间。现在要把这些区间分割成两个分割集合A和B,然后求maxA,B∣(⋂r∈Ar)∪(⋂r∈Br)∣\max_{A,B}{\left |(\bigcap_{r\in A}r)\cup(\bigcap_{r\in B}r)\right |}A,Bmax∣∣∣∣∣(r∈A⋂r)∪(r∈B⋂r)∣∣∣∣∣先找出区间左端点最大的区间s和右端点最小的区间t(...原创 2019-12-19 00:19:49 · 296 阅读 · 0 评论 -
算法复杂度的O到底是什么
以前在玩程序竞赛的时候。经常跟朋友讨论算法复杂度:“这个算法复杂度是O(n2)O(n^2)O(n2),肯定爆掉了,这道题要用O(nlogn)O(n\log{n})O(nlogn)的算法”类似的讨论非常多。但当时没深究过这个O到底是如何定义出来的,一直以为它跟数学分析里的高阶无穷小之类的是否有关系。上了大学课上的情报数学后,终于慢慢揭开了O的面纱。这里就来分享给还没学过的朋友。定义1对...原创 2019-12-18 13:10:47 · 1549 阅读 · 0 评论 -
ABC143 F Distinct Numbers 刁钻神奇数论
题目链接神奇数论这题公式有点神奇。首先统计给的数,计算不同种类的数每个数的个数,把统计结果放到数组CnC_nCn里面(下标范围:1~m),sort一下这个数组。然后反过来想:“如果我想取X次,那么这X次取数中每次取的不同数的个数Y的最大值是多少”Y=f(X)=floor(∑k=1mmin(X,Ck)X),f(0)=NY=f(X)=floor(\frac{\sum_{k=1}^{m}\m...原创 2019-12-11 13:42:09 · 528 阅读 · 0 评论 -
ABC143 E Travel by Car 迪拜村跑车问题
原题链接Floyd离线路径探索初体验本题需要两次Floyd算法。第一次是对给定的图进行计算,求出G[i][j],来表示村子i到村子j的最小路径长度。然后把G[i][j]转换成∞\infty∞或111的图。(若G[i][j]<=l则设为1,否则设为无穷大)然后再对这个G进行第二次Floyd。最后根据答案集输出答案即可(所有答案需要-1,结果本质上是假设了车子一开始没油,但题目假设是...原创 2019-12-08 16:53:39 · 251 阅读 · 0 评论 -
ABC143 D Triangles 快乐三角形数一数
原题链接不一样的思路其实这题我当时A掉后感觉略难,后来看解说发现自己的思路复杂了,但是计算复杂度比答案的O(N2logN)O(N^2\log N )O(N2logN)小(答案用的暴捜加二分探索),在这里分享一下。O(N2)O(N^2)O(N2)算法:开一个数组CnC_nCn用来统计长度为nnn的木棒的个数O(N)O(N)O(N),并算其前缀和O(N)O(N)O(N),然后遍历计算。遍...原创 2019-12-08 16:53:05 · 330 阅读 · 0 评论 -
ABC145 F Laminate 艺术是让程序员走向秃头的坑
题目链接简单DP更改某一列等价于删除这一列只有斜率>0的柱形会增加笔画数,可用∑max(0,h[i]−h[i−1])\sum \max(0,h[i]-h[i-1])∑max(0,h[i]−h[i−1])评价价值(value)dp[i][j] := 第i列不删、第i列和之前总和j列、第i列之后全删的最小笔画数(value最小)初始化:dp[i][j]:=∞,∀i,j dp[i...原创 2019-12-08 16:52:33 · 183 阅读 · 0 评论 -
ABC146 E Rem of Sum is Num 前缀和数模变形坑坑乐
题目地址很简单但很坑进行一次前缀和操作后(SiS_iSi),使用下面的公式(Sj−Si)%K=j−i,(j>i,0≤j−i<K) (S_j-S_i) \% K = j-i, \quad(j>i,\quad 0\leq j-i<K)(Sj−Si)%K=j−i,(j>i,0≤j−i<K)Sj−Si=K⋅a+j−iS_j - S_i = K\cdot ...原创 2019-12-08 16:52:07 · 428 阅读 · 0 评论 -
ABC133 F Colorful Tree 最近公共祖先(LCA)+树形策略记忆化搜索
ABC133 F Colorful Tree 最近公共祖先(LCA)+树形策略记忆化搜索题目给NNN个顶点组成的一棵树,给边先着色并赋权(赋距离)。现给定问题集,第iii个问题是:假设把颜色为xix_ixi的所有线段的长度统一改为yiy_iyi,求从uiu_iui顶点到viv_ivi顶点的最小距离。考察考察内容如果用在线算法寻找每个问题的解,会TLE。若用离线算法,用字符串...原创 2019-12-08 16:51:29 · 203 阅读 · 0 评论 -
DP问题汇总,快乐背包背一背,小学算数数一数
参考自アリ本(プログラミングコンテスト チャレンジブック)01背包nnn个重wiw_iwi值viv_ivi的物品,选总重≤W\le W≤W的组合的最大价值。(略)最长公共子序列(LCS)给两个字符串(s,t),求最长公共子序列。O(nm)O(nm)O(nm)int n,m;char s[MAX_N],t[MAX_M]; // inputsint dp[MAX_N +...原创 2019-12-08 16:50:08 · 117 阅读 · 0 评论 -
ABC133 E Virus Tree 2 树形遍历+染色
题目:E - Virus Tree 2给定一个含KKK个节点的无向树,给每个顶点赋上[1,K][1,K][1,K]一整数(染上一种颜色)。并且,若两个顶点距离≤2\le2≤2,那么两顶点值不同(颜色不同)。1≤N,K≤1051\le N,K\le 10^51≤N,K≤105考察首先无向树的根可以随意设定,我们就从第1个开始查找(邻接表)。根的颜色肯定是K种可用。我们固定好根的颜色后,用D...原创 2019-12-08 16:49:02 · 207 阅读 · 0 评论