网络流散记

网络流24题&&最大流最大费+路径输出题目给了我们很多个飞机站,现在要问除了起点和终点外其他城市只能经过一次的最优飞行方案是什么 也就是说在除终点起点外 尽可能多的经过别的城市 也就是说 你坐飞机要给钱 坐的越多花费越多这个意思 显然的最大费问题 注意特判 1-- n 可以直接飞( _ _ )#include <bits/stdc++.h>#include <stdlib.h>#include <algorit
分类: 其他 发布时间: 01-24 22:17 阅读次数: 0

网络流<平面图&&对偶图>

开始学习,冲BZOJ 狼抓兔子
分类: 其他 发布时间: 01-24 22:17 阅读次数: 0

最短路随笔

刷到的时候再继续更新 QAQ反向建图&&Dijemmm 正向建图TLE了 ,就是给了我们n个点m条单向边和终点S问我们最快到达终点的时间是多久 或者无法到达 此外还有q个起始点(本来我是建了一个超级原点的 结果WA了) emm 后来想着还是反向建图吧,枚举起点跑一跑取最小 就过了 挺简单的 #include<bits/stdc++.h>#include<stdlib.h>#include<algorithm>
分类: 其他 发布时间: 01-24 22:17 阅读次数: 0

网络流之预流推进

emmmm LOJ这个最大流加强版卡掉了我心爱的Dinic板子加强版最大流这这这也太丝滑了吧 LOJ板子题跑了400ms#pragma GCC optimize("Ofast,unroll-loops")#pragma GCC target("avx")#include <bits/stdc++.h>using namespace std;int getint() { char c; while (not isdigit(c = getchar()))
分类: 其他 发布时间: 01-24 22:16 阅读次数: 0

数学随笔

写的时候再继续更新 (1900+)不敢保证低分题一定会做,这个说不准,不会就去学它的思想,扩展新知识,低分题也有其内涵 (ง •_•)งCF1366D 构造互质组 2000给了我们n个元素,问能不能找到两个数d1 d2 都大于1且d1+d2与ai 互质找得到就打印任意一组结果 否则就输出-1我们尝试从ai 本身出发 ai 可以写成 bk *c的形式 (如果可以)那么 显然 bk 与c是互质的关系 无公因子 所以易得 bk +c 与ai 互质
分类: 其他 发布时间: 01-24 22:16 阅读次数: 0

斯坦纳树<最短路 dp>

学姐博客留一手,有空再看看
分类: 其他 发布时间: 01-24 22:16 阅读次数: 0

平时训练题解合集

害,明天再更吧,15D大套餐,CF远古题 , 多多思考还是可以做出来,除了我压根不会的搜索题
分类: 其他 发布时间: 01-24 22:15 阅读次数: 0

CodeForces 102D Buses DP+离散化+排序

题目链接n+1个车站,第一个车站是家门口 每个车站有起点si–终点ti我们可以在si–ti-1 任意段上车 但是只能在ti的时候下车 ,询问在终点n下车有多少方案数 取模1e9+7首先ti si 范围很大,显然我们需要离散化一下既然求的是终点方案数,那么不妨以ti–si存储下来 按终点从小到大排序我们用dp[i] 表示在第i站上车的方案数 那么显然dp[i]需要由前面所有可行的车站方案数转移过来 因为si–ti-1都可以上车 前缀和加起来我们用sum(i) 表
分类: 其他 发布时间: 01-24 22:15 阅读次数: 0

Codeforces 114D Petr# Hash

题目链接给了一个母串s1 和两个串s2 s3询问s1中有多少个以s2开头s3结尾的子串 子串中s2 s3可以重叠没啥好说的,直接哈希,先预处理以s2开头的下标和以s3结尾的下标(string是真的方便)然后遍历一次s1,如果当前下标满足了s2,就一直遍历下去寻找合法s3注意形成的子串长度应当大于等于max(s2,s3) 直接存入哈希值最后去重就好了 ,最麻烦的就是哈希冲突 QAQ最后没要模数 直接long long自然溢出就过了当然我相信还有其他解法 #include
分类: 其他 发布时间: 01-24 22:15 阅读次数: 0

Codeforces 126D Fibonacci Sums dp计数&&思维

题目链接就是给我们t组数据每次询问一个值n 范围为1e18问用不同的斐波那契数 求和组成这个数的方案数emmm 一开始想的是斐波那契数不过就80来个就达到了1e18想了想01背包计数 显然挂掉了我们推了几个数发现,似乎所有的数都可以由唯一的几个斐波那契数求和组成(确实如此)因为不能有相同的fib数 所以fib1=1 fib2=2那么问题就在于 我们对于每个斐波那契数 两种状态,一种是把他拆了 ,另一种是不管它 ,拆的话 因为fib (i)=fib(i-1)+fib_
分类: 其他 发布时间: 01-24 22:14 阅读次数: 0

Codeforces 118D Caesar‘s Legions dp思维

题目链接emmm 总感觉哪里做过 但是又没有记录 大概是遇到过 鸽掉了给了我们n1 n2 k1 k2排列一个队形,人数n1+n2 n1种人不能连续排k1个 同理n2 问方案数emmm 想了下 好像没啥想法 那就继续想(于是20分钟过去了)我们定义dp[i][j][1/2] 选取i个n1的人 j个n2的人 组成一个排列以n1/ n2结尾的队伍 那么我们枚举当前可以连续排列的数,min(i,k1) min(j,k2)于是dp[i][j][1] =dp
分类: 其他 发布时间: 01-24 22:14 阅读次数: 0

Codeforces 1426F Number of Subsequences dp计数

题目链接好久没打div3了 写虚拟场居然能AK了 挺简单的dp给了我们一个字符串 含有abc 和? ?可以变化为a b c问有多少个子序列是abc由于? 会引出三个分支, 也就是说每多一个 ? 方案数就会扩大3^k先考虑下不含有?的字符串如何对abc计数令dp[flag][i] 表示在第i位 为flag种字符时 的贡献那么 - - 害 直接搬我的英文题解上来 太懒了We are given a string with the length of
分类: 其他 发布时间: 01-24 22:14 阅读次数: 0

Codeforces 1142C Bargain 思维

题目链接一眼题 长度为1e5 QAQ给我们一个数字字符串 操作若干次 每次移除它的子串,留下的数字重新拼接后 用ans累加起来 求最终的ans对1e9+7取模的结果观察一下吧 , 从低位开始 也就是从右到左每位可以取到的次数为i*(i-1)/2 num那么这样子分析,如果我们取的子串位于当前位的左边,那么对于现在这一位来说,贡献是没改变的 仍然是10^i num比如说111从右往左 第一个1 产生的贡献为1乘num 因为无右边
分类: 其他 发布时间: 01-24 22:14 阅读次数: 0

Codeforces Global Round 11 ABCD题解

真阴间啊 , 不仅时长阴间, 题目也有点emmmmm打的不顺利,没有按预想在15分钟内把AB题写出来 ((。・∀・)ノ゙害)开局码了发A WA2 人傻了 开始质疑自己了 先搁着吧然后又码了一个半成品B emmm 有bug 又鸽着了然后C好像没啥想法 鸽着 看看D如果没有翻译我估计D题我是写不出来的 QAQ 简直阅读理解1427A题链接给你一个数组 要我们重新排列以后 对于任意长度的前缀和不为0那么考虑长度为n的前缀和 ,如果它为0 那
分类: 其他 发布时间: 01-24 22:13 阅读次数: 0

ZOJ3997 网络流+容斥

题目链接给出座位号上限 m (有1 到 m 的座位可以坐 )现在这些人想要坐 1的倍数的座位号的有a1 人 同理到 10的倍数求最多能满足他们坐的座位有多少个emmmm 网络流能够很好的解决它 毕竟想贪心也无从下手源点连接 1–10 流量为需求数那么对于其他的 也就是小于m的数且满足以上为倍数 需要容斥一下小的数的方案数要减去与大的相同的方案数容斥完毕 建边 边容为当前数可以选择的数量跑一次最大流 就是答案#include <bits
分类: 其他 发布时间: 01-24 22:13 阅读次数: 0

ZOJ3999 模拟高数题

题目链接没啥难的 ,打组队的时候死磕 了一下午,感觉天衣无缝 操晚上对拍 拍了很多组数据都无差异 还是找到了问题对于0比0型 模拟洛必达法则就OK #include<bits/stdc++.h>#include<stdlib.h>#include<algorithm>#include<stdio.h>#include<string.h>#include<queue>#include<time.h&g
分类: 其他 发布时间: 01-24 22:13 阅读次数: 0

ZOJ4003 双指针+计数

题目链接给了两个序列 X Y定义sub 连续的等长的X Y Σ ( x_i-y_j)p <=V 有多少种方案数不难发现 这种连续的求和 逐渐增大 那么可以用双指针优化 ,也就是遍历到以i 开头 j开头时 可以删除左边的元素 直到当前求和<=V 记录下方案数#include<bits/stdc++.h>#include<stdlib.h>#include<algorithm>#include
分类: 其他 发布时间: 01-24 22:13 阅读次数: 0

Codeforces 1427E. Xum 思维+构造+数论

题目链接一开始的时候给我们一个X 奇数 现在我们可以有两种操作每次构造后 新构造的数会放入到序列中 可以继续使用现在要我们构造出来 使得序列中出现 1两种操作是 取两个数 做加法 或者做异或那么很方便的我们可以得到一个数 为X * 2^kX+X=2X2X+2X=4X4X+4X=8X我们继续观察, 2^k 相当于把X 的二进制模式 整体移动k位那么取一个临界点继续观察 令k为最大的 2^k <x那么我们可以每次消去一个数的最高位的1假设我们恰好消去它
分类: 其他 发布时间: 01-24 22:12 阅读次数: 0

2020CCPC秦皇岛重现(补题)

CCPC2020秦皇岛总结:emmmm 20号参加了组队训练 一个队友打过了 就没一起打 另一个开局就颓废了 害,自己坚持了五个小时 啃出来四题 E题WA了18发 实在没办法了 再找了一个题 花了一小时AC开局一小时做出来三个题A题 数学很水给你a个红气球 b个蓝气球 问你从中取出来两个球是红气球的概率组合数学自己算算吧F题 联通块 并查集 策略n个人 m种朋友关系(u,v) 现在我们要选一些学生去干点事情, 当然也可
分类: 其他 发布时间: 01-24 22:12 阅读次数: 0

浙江农林大学第十九届程序设计竞赛暨天梯赛选拔赛(同步赛)训练记录

题目链接- – 牛客 10月24日总结 AC 8/13 排名43 害 感觉还可以再写两个题的 只是有想法但是变现困难 后续再补吧B题 期望计算求期望问题 ,看透了以后 就求个总和再除n 就好了 注意分母有0的情况D题 博弈 两个人玩游戏 对于非1的数,可以除掉它的一个非1因子 然后这个数变成x/fac 不能操作的时候就输了 现在问谁能赢 。不难发现这个跟CCPC网络赛那个很像,我们求一次每个数的因子数做NIM博弈
分类: 其他 发布时间: 01-24 22:12 阅读次数: 0