07 2019 档案

摘要:[vjudge]https://cn.vjudge.net/problem/UVA 10537 记$dis_i$为从$i$到$ed$最少需要多少单位的货物,这个东西可以直接dijkstra,初始条件$dis_{ed}=x$ 输出方案的话直接从$st$开始找,每次找下一个点$nxt$时都要满足$dis 阅读全文
posted @ 2019-07-30 23:33 EncodeTalker 阅读(148) 评论(0) 推荐(0)
摘要:"hdu" 二进制优化多重背包 将硬币的价值看做费用,使用的硬币个数看做价值,将第$i$种硬币看成$c_i$个价值为$a_i$的硬币跑01背包的话时间是$O(m\sum c)$的,显然不大行 注意到可以对$c_i$直接进行二进制拆分,把它拆成$log$个物品($2^0,2^1,\cdots,2^k, 阅读全文
posted @ 2019-07-25 23:56 EncodeTalker 阅读(170) 评论(0) 推荐(0)
摘要:"hdu" 二维费用背包的模板题 不难发现这个问题其实是一个物品同时有两种费用的问题 (1)耐久度$b_i$ (2)杀掉的怪的只数1 同时它们都有一个最大费用$m$和$s$ 记$dp_{i,j}$为杀了$i$只怪,已经花费忍耐度为$j$所得到的最大经验值,按照完全背包转移即可 阅读全文
posted @ 2019-07-25 23:47 EncodeTalker 阅读(117) 评论(0) 推荐(0)
摘要:Problem 1. Redistricting 将$H$看做$+1$,$G$看做$ 1$,得到一个前缀和数组$sum_i$ 记$dp_i$为考虑到$i$时的答案,有$dp_i=min(dp_j+[sum_i sum_j\leq 0])$ 直接$dp$时间是$O(nk)$的,使用单调队列优化时间复杂 阅读全文
posted @ 2019-07-23 20:30 EncodeTalker 阅读(387) 评论(0) 推荐(0)
摘要:题目链接: "luogu4774" 首先在打每一只龙的时候使用的剑是确定的,我们可以用$multiset$预处理出这些剑,定义对第$i$头龙使用的剑的攻击力为$atk_i$ 当$a_i p_i$时,根据数据范围一定有$p_i=1$,那么我们只要将每一只龙的血量减少到一个非正数,那么它在回血的时候就会 阅读全文
posted @ 2019-07-14 23:14 EncodeTalker 阅读(177) 评论(0) 推荐(0)
摘要:update on 2019.8.27 不知不觉间NOI2019已经是一个月之前的事情了呢 一个月过去了我似乎还是一事无成,文化课没有达到自己想要的进度就要被拉过去开学考,然后又是各种不顺心的事情在同一个时间点爆发。 曾经的七连测七连崩的我以为只要考完了NOI心态就能回到正常,现在发现这只不过是奢望 阅读全文
posted @ 2019-07-11 22:14 EncodeTalker 阅读(1068) 评论(0) 推荐(0)
摘要:"loj 3145. 「APIO 2019」桥梁" ~~填坑系列~~ 高级数据结构不好直接维护,暴力的话时间复杂度又太高,于是考虑分块 对于每一个块内的操作,我们将所有边分成在块内修改过的边和没有修改过的边,块内询问按权值从大到小排序。 对于每个询问,先在并查集中加入所有没有修改过的边,这个可以使用 阅读全文
posted @ 2019-07-10 23:34 EncodeTalker 阅读(271) 评论(0) 推荐(0)
摘要:记$f(n)$为将正整数$n$拆分成若干个整数之和的方案数例如由于$4=1+1+1+1=1+1+2=2+2=1+3=4$,所以$f(4)=5$,同样的,有$f(5)=7$ 普通的背包dp做法在这里不再叙述,这里仅介绍生成函数的做法 考虑$f(n)$的生成函数$F(x)$,通过枚举使用了多少个1,多少 阅读全文
posted @ 2019-07-10 23:21 EncodeTalker 阅读(1217) 评论(0) 推荐(0)
摘要:"[NOI2017]蔬菜" ~~太神了写不来~~ 一眼看出来是个网络流(费用流),口胡一个建图(勿轻信,未实践):对每一天用一个节点来表示,卖什么菜则用连边表示,对于当前的蔬菜,源点向这种蔬菜未完全变质的天连边,容量为在这一天变质的蔬菜量,费用为$a_i$,特别的对于$s_i$,我们在最后一天单独拆 阅读全文
posted @ 2019-07-06 00:05 EncodeTalker 阅读(116) 评论(0) 推荐(0)
摘要:"[NOI2017]游戏" 3 SAT问题?这不是npc吗。。。 但是我们发现$x\leq 8$,于是我们可以枚举这些$X$禁止使用了什么类型的汽车,很明显我们只需要枚举$A$和$B$就可以覆盖所有的情况了 之后就是一个经典的2 sat求方案了 感觉思路简单清晰但是有些难写 c++ include 阅读全文
posted @ 2019-07-06 00:04 EncodeTalker 阅读(143) 评论(0) 推荐(0)
摘要:"[NOI2017]蚯蚓排队" ~~为什么我觉得T2比T1裸啊~~ 突破口是$k\leq 50$,我们可以直接维护当前串长$\leq k$的所有子串的$hash$值,那么$3$操作的时间复杂度变成了$O(\sum|S|)$ 考虑如何维护$1,2$操作(其实1操作对此的暗示也十分明显),我们通过维护一 阅读全文
posted @ 2019-07-06 00:02 EncodeTalker 阅读(177) 评论(0) 推荐(0)
摘要:"[NOI2017]整数" 最简单的想法是模拟这个过程,即对于$a$将其拆成许多个$2^i$之和,然后将每一个暴力的往那个高精度二进制数上加或减,对于加法,我们在这一位上加1,如果这一位原来是1的话下我们就将高位上连续的一段1变成0,并且将再下一位的0变成1(模拟一下这个进位过程)。减法的话同理,就 阅读全文
posted @ 2019-07-06 00:01 EncodeTalker 阅读(161) 评论(0) 推荐(0)
摘要:发现自己最近在几个系统和机子之间反复横跳,有必要记一下自己的相关配置了 头文件(我不用万能头我自豪) #include<iostream> #include<string.h> #include<string> #include<stdio.h> #include<algorithm> #inclu 阅读全文
posted @ 2019-07-05 19:34 EncodeTalker 阅读(269) 评论(0) 推荐(0)
摘要:题目链接: "luogu1587" 首先是题目中的“纯循环小数”让人感觉十分清奇 对于一个分数$\frac{x}{y}$,要满足条件首先得使得$gcd(x,y)=1$,其次因为纯循环必然存在一个循环节的长度$l$使得将小数点右移$l$位之后两个数的小数部分相同,写出来就是这个样子 $$ \frac{ 阅读全文
posted @ 2019-07-04 00:36 EncodeTalker 阅读(188) 评论(0) 推荐(0)
摘要:定义及前置芝士 数论函数:指定义域为正整数、定义域为复数的函数,在OI中这类函数的值域 极大多数 也为整数 积性函数:指对于数论函数$f(x)$和任意一对互质整数$a,b$,均有性质$f(ab)=f(a)f(b)$。 莫比乌斯反演和狄利克雷卷积: "很久以前自己写过的博客" 在OI中,有一类经典的问 阅读全文
posted @ 2019-07-04 00:15 EncodeTalker 阅读(442) 评论(0) 推荐(0)
摘要:"bzoj 2959: 长跑" 可以看作是这道题的加强版:https://www.luogu.org/problemnew/show/P2542 看到动态维护$Tarjan$缩点就考虑使用$LCT$,使用一个并查集$f$表示点$i$所在的点双的“标志”点是哪一个,$link$时分类讨论一下即可 然后 阅读全文
posted @ 2019-07-02 23:54 EncodeTalker 阅读(242) 评论(0) 推荐(0)