洛咕 P3961 [TJOI2013]黄金矿工】的更多相关文章

甚至都不是树形背包= = 把每条线抠出来,这一条线就是个链的依赖关系,随便背包一下 // luogu-judger-enable-o2 #include<bits/stdc++.h> #define il inline #define vd void typedef long long ll; il int gi(){ int x=0,f=1; char ch=getchar(); while(!isdigit(ch)){ if(ch=='-')f=-1; ch=getchar(); } wh…
题目描述 小A最近迷上了在上课时玩<黄金矿工>这款游戏.为了避免被老师发现,他必须小心翼翼,因此他总是输.在输掉自己所有的金币后,他向你求助.每个黄金可以看做一个点(没有体积).现在给出你N个黄金的坐标,挖到它们所需要的时间以及它们的价值.有些黄金在同一条直线上,这时候你必须按顺序挖.你可以瞬间把钩子转到任意角度.请你帮助小A算出在时间T内他最多可以得到多少价值的金子. 输入输出格式 输入格式: 第一行,两个整数N和T,表示黄金的个数和总时间.接下来N行,每行四个整数x,y,t,v分别表示黄金…
把坐标按照(x+y)%2染色可以发现这是个二分图 二分图最大独立集=点数-最大匹配 于是就是个算匹配的傻逼题了 // luogu-judger-enable-o2 #include<bits/stdc++.h> #define il inline #define vd void typedef long long ll; il int gi(){ int x=0,f=1; char ch=getchar(); while(!isdigit(ch)){ if(ch=='-')f=-1; ch=g…
有个结论就是把坐标\((x,y)\)变形成\(((x+y)/2,(x-y)/2)\),切比雪夫距离就变成了曼哈顿距离. 所以变换一下坐标直接统计答案即可. // luogu-judger-enable-o2 #include<bits/stdc++.h> #define il inline #define vd void typedef long long ll; il int gi(){ int x=0,f=1; char ch=getchar(); while(!isdigit(ch)){…
同tjoi2010 打扫房间,每个点入度,出度都为1,可以向相邻4个点连边,但只有原来存在的边费用为0. // luogu-judger-enable-o2 #include<bits/stdc++.h> #define il inline #define vd void typedef long long ll; il int gi(){ int x=0,f=1; char ch=getchar(); while(!isdigit(ch)){ if(ch=='-')f=-1; ch=getc…
洛咕3312 [SDOI2014]数表 终于独立写出一道题了...真tm开心(还是先写完题解在写的) 先无视a的限制,设\(f[i]\)表示i的约数之和 不妨设\(n<m\) \(Ans=\sum_{i=1}^n\sum_{j=1}^mf[\gcd(i,j)]\) \(Ans=\sum_{x=1}^nf[x]\sum_{i=1}^{n}\sum_{j=1}^{m}[gcd(i,j)=x]\) 莫比乌斯反演,\(Ans=\sum_{x=1}^nf[x]\sum_{x|y}\mu(\frac{y}{…
洛咕 P3700 [CQOI2017]小Q的表格 神仙题orz 首先推一下给的两个式子中的第二个 \(b\cdot F(a,a+b)=(a+b)\cdot F(a,b)\) 先简单的想,\(F(a,a+b)\)和\(F(a,b)\)会相互影响 可以换一种角度想,\(F(a,b-a)\)和\(F(a,b)\)会相互影响\((b>a)\) 那么可以从\(F(x,y)\)一路推下去 \(F(x,y)=F(x,y-x)=F(x,y-2x)=\cdots=F(x,y\mod x)\) (注意这里的\(\t…
洛咕 P2336 [SCOI2012]喵星球上的点名 先求出SA和height,一个点名串对应的就是一段区间,还有很多个点,就转化成了 有很多个区间,很多个点集,对每个区间计算和多少个点集有交,对每个点集计算和多少个区间有交. 第一个,HH的项链的树状数组做法 第二个,因为是点集所以要去重,假设点集有\(a_1,a_2,\cdots,a_k\),可以对每个区间只再覆盖的第一个点做记录 就是记录\(\sum_{i=1}^k\sum_{\texttt{interval }[l,r]}\left[l\…
洛咕 P4131 [WC2005]友好的生物 首先可以发现\(C\)是没有用的,可以乘进所有的权值里面做 考虑没有最后一维的限制,那么两个生物的友好值就是 \(\sum_{i=1}^k|a_i-b_i|\) 这个绝对值就很麻烦了. 但是可以换个思路想,既然是绝对值那么一定\(\geq 0\),所以两个生物的友好值是 \(\max\left(\sum_{i=1}^k(a_i-b_i)(-1)^{c_i}\right)\) 其中\(c\)取遍所有的01数组.正确性是显然的,因为其他的都没有答案大.…
洛咕 P4528 [CTSC2008]图腾 神题orz. 先约定abcd表示\(1\leq A<B<C<D\leq n\),而且\(y_a,y_b,y_c,y_d\)的排名正好是\(a,b,c,d\)的方案数 那么所求就是 1324-1243-1432 =(1x2x-1423)-(14xx-1423)-(12xx-1234) (其中有x的表示排名任意,但是不能重复) =1x2x-14xx-12xx+1234 =1x2x-1xxx+13xx+1234 预处理\(L,R\),\(L_i=\s…
这题太神仙了必须写博客... 显然可以想到二分答案.二分一个答案mid,如果所有长度\(\geq mid\)的路径都过x,那么答案一定\(<mid\),否则答案\(\geq mid\). 那么就可以写出代码了,树状数组套动态开点线段树即可.时间复杂度\(O(n(log_2n)^3)\) 然后因为出题人卡空间就炸了...如果256M就能过了.. #include<bits/stdc++.h> #define il inline #define vd void typedef long lo…
洛咕 P2480 [SDOI2010]古代猪文 题目是要求\(G^{\sum_{d|n}C^d_n}\). 用费马小定理\(G^{\sum_{d|n}C^d_n\text{mod 999911658}}\) 因数可以\(O(\sqrt n)\)枚举. 分解质因数,\(999911658=2×3×4679×35617\),对这4个模数用lucas跑一遍答案,用crt合并. // luogu-judger-enable-o2 #include<bits/stdc++.h> #define il i…
洛咕 P2155 [SDOI2008]沙拉公主的困惑 有个结论,就是如果\(gcd(a,b)=1\),那么\(gcd(a+kb,b)=1\).证明比较显然. 所以这个题目要问的\(n!\)就可以分成\(\frac{n!}{m!}\)段,每一段和\(m!\)互质的数量都相同,那么显然就是\(\phi(m!)\) 所以答案是\(\frac{n!}{m!}\phi(m!)\) 然后怎么求呢,拆开 \(\frac{n!}{m!}\phi(m!)=\frac{n!}{m!}m!\Pi\frac{p-1}{…
洛咕 P3306 [SDOI2013]随机数生成器 大力推式子??? \(X_{i}=\underbrace{a(a(\cdots(a(a}_{i-1个a}X_1+b)))\cdots)\) \(=b+ba+ba^2+\cdots+ba^{i-3}+ba^{i-2}+X_1a^{i-1}\equiv t(\text{mod }p)\) \(b\frac{a^{i-1}-1}{a-1}+a^{i-1}x_1\equiv t(\text{mod }p)\) 拆分一波,提出\(a^{i-1}\) \(…
传送门 Description 黄金矿工是一个经典的小游戏,它可以锻炼人的反应能力.该游戏中,可以通过“挖矿”获得积分并不断升级.玩家可以在线玩flash版黄金矿工,也可以下载后玩单机版黄金矿工.目前,黄金矿工小游戏有多个版本,例如黄金矿工双人版,黄金矿工单人版等. Jimmy是一位黄金矿工,他所在的金矿是一个n*n的矩形区域(俯视),区域内有黄金.石头和TNT,由一个 n*n的矩阵描述.黄金的价值对应矩阵中的正值,石头的价值对应矩阵中的负值,TNT由0表示.换句话说,挖到黄金赚钱,石头亏损,如…
题目: 5215. 黄金矿工 你要开发一座金矿,地质勘测学家已经探明了这座金矿中的资源分布,并用大小为 m * n 的网格 grid 进行了标注.每个单元格中的整数就表示这一单元格中的黄金数量:如果该单元格是空的,那么就是 0. 为了使收益最大化,矿工需要按以下规则来开采黄金: 每当矿工进入一个单元,就会收集该单元格中的所有黄金. 矿工每次可以从当前位置向上下左右四个方向走. 每个单元格只能被开采(进入)一次. 不得开采(进入)黄金数目为 0 的单元格. 矿工可以从网格中 任意一个 有黄金的单元…
记$dep_{x}$为1到$x$的边权和,当$x$上的矿工挖了$y$上的黄金时($y$在$x$子树内),显然$\sum_{e}c_{e}=dep_{y}-dep_{x}$ 由此,对于$u$上权值为$v$的矿工(或黄金),不妨修改其权值为$v-dep_{x}$(或$v+dep_{x}$) 此时,矿工挖黄金的收益即两者的权值和(同时黄金要在矿工子树内),因此我们仅关心于挖了黄金的矿工和被挖的黄金,而不关心具体谁挖了谁 根据Hall定理,当选择了若干个黄金和矿工后,判断是否合法仅需要保证: 1.选择的…
P3965 [TJOI2013]循环格 题目背景 一个循环格就是一个矩阵,其中所有元素为箭头,指向相邻四个格子. 每个元素有一个坐标(行,列),其中左上角元素坐标为\((0,0)\).给定一个起始位\((r,c)\),你可以沿着箭头方向在格子间行走. 即:如果\((r,c)\)是一个左箭头,那么走到\((r,c-1)\);如果是一个右箭头,走到\((r,c+1)\);如果是上箭头,走到\((r-1,c)\);如果是下箭头,走到\((r+1,c)\). 每一行和每一列都是循环的,即如果走出边界,你…
P3962 [TJOI2013]数字根 题意 数字根:这个数字每一位的数字加起来求和,反复这个过程直到和小于10. 给出序列\(a\),询问区间\([l,r]\)连续的子区间里最大前5个不同的数字根,不够5个-1补全. 一个区间的数字根指区间和的数字根. \(a_i\le 10^9,n\le 10^5\) 开始写了个线段树发现是个假做法给我气死了... 数字根结论:对自然数\(x\),若\(x=0\),数字根为\(0\),否则为\((x-1)\bmod 9+1\) 做法:预处理每个位置右边最早可…
和https://www.cnblogs.com/xzz_233/p/10060753.html一样,都是多项式快速幂,还比那个题水. 设\(a[i]\)表示\([1,m]\)中$ \mod p\(余\)i\(的数的个数,\)f[i][j]\(表示用\)i\(个\)[1,m]\(中的数凑出\)j$的方案数 那么转移方程是\(f[i][j]=\sum_{k=0}^{p-1}f[i-1][(j-k)\mod m]\times a[k]\) 直接多项式快速幂即可 但是还有2条件,至少选一个质数,其实就…
3172: [Tjoi2013]单词 Time Limit: 10 Sec  Memory Limit: 512 MB Submit: 4293  Solved: 2083 [Submit][Status][Discuss] Description 某人读论文,一篇论文是由许多单词组成.但他发现一个单词会在论文中出现很多次,现在想知道每个单词分别在论文中出现多少次. Input 第一个一个整数N,表示有多少个单词,接下来N行每行一个单词.每个单词由小写字母组成,N<=200,单词长度不超过10^…
P3966 [TJOI2013]单词 题目链接:https://www.luogu.org/problemnew/show/P3966 题目描述 小张最近在忙毕设,所以一直在读论文.一篇论文是由许多单词组成但小张发现一个单词会在论文中出现很多次,他想知道每个单词分别在论文中出现了多少次. 输入输出格式 输入格式: 第一行一个整数N,表示有N个单词.接下来N行每行一个单词,每个单词都由小写字母(a-z)组成.(N≤200) 输出格式: 输出N个整数,第i行的数表示第i个单词在文章中出现了多少次.…
P1360 [USACO07MAR]黄金阵容均衡Gold Balanced L… 题目描述 Farmer John's N cows (1 ≤ N ≤ 100,000) share many similarities. In fact, FJ has been able to narrow down the list of features shared by his cows to a list of only K different features (1 ≤ K ≤ 30). For ex…
听说是你谷史上最水月赛?我不听我最菜 T1:终于结束的起点 月天歌名好评 给你一个模数 \(M\),请你求出最小的 \(n > 0\),使得\(fib(n)\) \(mod\) \(m=0\),\(fib(n+1)\) \(mod\) \(m=1\). 数学题,开始还想打表验证下,但是我不会告诉你我打表的时候没有很及时地取膜,然后中间有结果溢出,耽误了很长时间,企图找了很久规律.结果发现暴力就能过.hhh. 这个故事告诉我们要及时取膜! #include<cstdio> #include…
P1360 [USACO07MAR]黄金阵容均衡Gold Balanced L… 题目描述 Farmer John's N cows (1 ≤ N ≤ 100,000) share many similarities. In fact, FJ has been able to narrow down the list of features shared by his cows to a list of only K different features (1 ≤ K ≤ 30). For ex…
题目描述: 给定一个二维网络,给定任意起点与终点.每一步可以往4个方向走.要找出黄金最多的一条线路. 很明显的是要“一条路走到黑,一直下去直到某个条件停止”. 运用dfs(深度优先搜索)求解. 因为起点任意,所以从每个点开始搜,接着每个点又搜相邻点.反复如此. 递归的终止条件: 1:越界. 2:搜到已经走过的点也终止. 3:遇到黄金数量为0的点. 用一个形参变量sum存储每条线路的当前黄金数量. 每一次更新返回值res的值. 搜一个点先将其标记,再搜其4个方向相邻点,搜完相邻点后取消原标记. 解…
题目描述 小张最近在忙毕设,所以一直在读论文.一篇论文是由许多单词组成但小张发现一个单词会在论文中出现很多次,他想知道每个单词分别在论文中出现了多少次. 输入输出格式 输入格式: 第一行一个整数N,表示有N个单词.接下来N行每行一个单词,每个单词都由小写字母(a-z)组成.(N≤200) 输出格式: 输出N个整数,第i行的数表示第i个单词在文章中出现了多少次. 输入输出样例 输入样例#1: 复制 3 a aa aaa 输出样例#1: 复制 6 3 1 说明 数据范围 30%的数据, 单词总长度不…
题目 不得不说这个题非常毒瘤. 简化题意 这个题的暴力还是非常好想的,完全可以过\(50\%\)的数据.但是\(100\%\)就很难想了. 因为数据很大,所以我们需要用\(O(\sqrt n)\)的时间求出每个时间的前面第一个跟它满足均衡区间的时间. 此时我们会很快速的想到\(Hash\)或\(Map\),他们的时间复杂度是小于\(O(\sqrt n)的\)所以满足要求,因此一般看到寻找相同得值的时候,最好还是想想怎么优化吧 \(Code\) #include <iostream> #incl…
题目链接-> 噔楞 题解: 贪心 按个高+臂长排序. 个矮臂长的先走,个高臂短的后走 #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #define N 2007 using namespace std; int f[N], n, flag, now, ans; struct node{ int x, y; }edge[N << ];…
正解:AC自动机 解题报告: 传送门! 啊我好呆啊其实就挺模板题的,,,只是要一个栈搞一下,,,然后我就不会了,,,是看了题解才get的,,,QAQ 然后写下解法趴QwQ 首先看到多串匹配不难想到AC自动机?问题只是在于删了某个字符串之后怎么继续匹配下去嘛QwQ 然后我就卡这儿了QAQ 正解其实并不难想到,,,就可以开一个栈,记录一路上经过的ac自动机上的节点的编号,然后每次删了一个串之后把now跳到这个串的前一位的那个编号位置就好 补充一个恶心的小细节,,, 就是这题不输出换行会莫名其妙WA在…