摘要: 有趣的数 题目链接 首先求出1~k中有多少个在k前面的数的个数,若>m,则无解 比如12345,从第一位开始, 1 0~1 共2个 1-0+1 12 10~12共3个 12-10+1 123 100~123 共24个 123-100+1 1234 1000~1234 共235个 1234-1000+ 阅读全文
posted @ 2018-08-03 19:36 yjk 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 子矩阵 题目链接 搜索枚举选了哪几行,将DP降为一个一维的问题, 先预处理出w[i]表示该列上下元素差的绝对值之和 v[i][j]为第i列和第j列对应元素之差的绝对值之和 f[i][j]表示前j列中选i列,且最后一列为j的最小消耗 f[i][j]=min(f[i][j],f[i-1][j-k]+v[ 阅读全文
posted @ 2018-08-03 19:23 yjk 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 小a和uim之大逃离 题目链接 因为每次只能向下或向右走,我们可以递推 dp[i][j][d][0/1]表示走到(i,j),mod k 意义下差值为d,轮到小a/小uim操作时的方案数 dp[i][j][d][0]=dp[i-1][j][(d-a[i][j]+k)%k][1]+dp[i][j-1][ 阅读全文
posted @ 2018-08-03 19:12 yjk 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 消防局的设立 题目链接 贪心:每次取出深度最大的节点,若没有被覆盖到,要想覆盖它, 最优的做法显然是将它的爷爷设为消防局 (因为该节点深度为最大,选兄弟、父亲所覆盖的节点,选了爷爷后都能够覆盖) 用优先队列维护深度即可 阅读全文
posted @ 2018-08-03 18:58 yjk 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 有线电视网 题目链接 树形DP,分组背包 dp[u][i][j]表示以u为根的子树,前i个子树中选j个用户的最大收益. dp[u][size[u]][0]=0; dp[u][i][j]=max(dp[u][i][j],dp[u][i-1][j-k]+dp[v][size[v]][k]-w[u][v] 阅读全文
posted @ 2018-08-03 18:45 yjk 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 重建道路 题目链接 一场可怕的地震后,人们用N个牲口棚(1≤N≤150,编号1..N)重建了农夫John的牧场。由于人们没有时间建设多余的道路,所以现在从一个牲口棚到另一个牲口棚的道路是惟一的。因此,牧场运输系统可以被构建成一棵树。John想要知道另一次地震会造成多严重的破坏。有些道路一旦被毁坏,就 阅读全文
posted @ 2018-08-03 18:38 yjk 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 棋盘制作 题目链接 这个题是[USACO5.3]巨大的牛棚Big Barn和玉蟾宫的结合 一道顶两道毒瘤! 题解: 首先,棋盘有两种选法: 1.任意白格(x,y) (x+y)%2=0 ,任意黑格(x,y) (x+y)%2=1 2.任意白格(x,y) (x+y)%2=1 ,任意黑格(x,y) (x+y 阅读全文
posted @ 2018-08-03 18:28 yjk 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 乘法逆元 题目链接 求逆元的三种方式: 1.扩欧 i*x≡1 (mod p) 可以化为:x*i+y*p=1 exgcd求x即可 2.快速幂 费马小定理:a^(p-1) ≡ 1 (mod p) a*a^(p-2)≡1(mod p) x=a^(p-2) 即为逆元 3.线性递推: inv[i]=(M-M/ 阅读全文
posted @ 2018-08-03 16:48 yjk 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 午餐 题目链接 DP题都辣么毒瘤的么。。 首先,看一下题解 我们就有了思路: 贪心:显然,让吃饭慢的先打饭,sort一遍(证明?不存在的。。 DP:f[i][j][k]表示前i个人,窗口1的打饭时间为j,窗口2的打饭时间为k的最早吃完饭的时间 对于每个人,有两种方案:1.在窗口1打饭 2.在窗口2打 阅读全文
posted @ 2018-08-03 16:22 yjk 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 无线通讯网 题目链接 先克鲁斯卡尔连上p-s条边,这样就会有s个连通块,每个连通块内装一个卫星电话,就大功告成了 阅读全文
posted @ 2018-08-03 16:04 yjk 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 公路修建 题目链接 分析题意,可以发现,在(1)的条件下,(2)的情况是不会发生的, 于是直接求MST(Min Set Tree) 然而稠密图克鲁斯卡尔会TLE,建图还会爆空间, 所以用prime,用到时再计算距离即可 阅读全文
posted @ 2018-08-03 15:58 yjk 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 车站分级 题目链接 首先,可以发现火车停靠站点的大小是没有什么规律的, 火车可以停靠在级别<=当前级别的站点,必须停靠在级别>=当前最高级别的站点 但是所有没有被停靠的站点级别一定比所有被停靠了的站点级别低 于是就可以据此建一个DAG,拓扑排序或记搜即可 (O(n^3)建图居然过了) 阅读全文
posted @ 2018-08-03 15:53 yjk 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 取数游戏II 题目链接 显然,由于一定有一个0,我们可以求出从初始点到0的链的长度 若有一条链长为奇数,则先手可以每次取完一条边上所有的数, 后手只能取另一条边的数,先手必胜; 反之若没有奇数链,后手采取同样策略,后手必胜 阅读全文
posted @ 2018-08-03 15:53 yjk 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 校园网Network of Schools 第一问:Tarjan缩点,搞出每一个连通块,入度为零的连通块是需要必须接受新软件副本的,统计数量即可 第二问:要让整个图构成一个环,显然要将入度为零点和出度为零点都消灭,ans=max(入度为零点的数量,出度为零点的数量) 双倍经验: P2812 阅读全文
posted @ 2018-08-03 15:44 yjk 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 上白泽慧音 题目链接 强联通分量模板题,Tarjan求强联通分量,记录大小即可 阅读全文
posted @ 2018-08-03 15:30 yjk 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 原题图: 看到这个题,首先想到的当然是暴力打表找规律了 表: 1 2 2 4 3 7 4 13 5 24 6 44 7 81 8 149 9 274 10 504 11 927 12 1705 13 3136 14 5768 15 10609 发现上下两个数近似于2倍关系,但f[i-1]*2略大于f 阅读全文
posted @ 2018-08-03 15:24 yjk 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 草鉴定Grass Cownoisseur 题目链接 约翰有n块草场,编号1到n,这些草场由若干条单行道相连。奶牛贝西是美味牧草的鉴赏家,她想到达尽可能多的草场去品尝牧草。 贝西总是从1号草场出发,最后回到1号草场。她想经过尽可能多的草场,贝西在通一个草场只吃一次草,所以一个草场可以经过多次。因为草场 阅读全文
posted @ 2018-08-03 14:59 yjk 阅读(121) 评论(0) 推荐(0) 编辑
摘要: BLO-Blockade 题目链接 若一个点为割点:统计出每个子树的大小,两两相乘再相加, 再加上n-1,为这个点与其他点的拜访数, 因为拜访是互相的,最后再乘二即可 若一个点不是割点:只有(n-1)*2次拜访会受影响 阅读全文
posted @ 2018-08-03 14:43 yjk 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 矿场搭建 题目链接 根据题意,发生事故时会有一个挖煤点坍塌, 只有当这个点是割点,会对图的连通性产生影响, 我们首先Tarjan一遍找到所有割点,将原图除去这些割点后, 遍历一遍,找出所有连通块,分三种情况讨论: 1、该连通块连接着两个及以上的割点,这时如果有一个割点被摧毁, 还可以从另一个割点到达 阅读全文
posted @ 2018-08-03 14:33 yjk 阅读(137) 评论(0) 推荐(0) 编辑