【BZOJ】【2626】JZPFAR】的更多相关文章

基站选址的区间里隐藏着DP优化的机密…… 分析:       不论是做过乘积最大还是石子合并,或者是其他的入门级别的区间DP题目的人呐,大米并认为读题后就能够轻松得出一个简洁明了的Dp转移方程.       由于这道题每个村庄i仅有两种状态:①自己有一个基站②自己不是基站,但是自己的范围S[i]里有基站.基于这样的关系,可以得出一个容易理解的Dp转移方程:       [设f[k][i]表示1~i的村庄中选取k个村庄安放基站,并且第k个村庄就安放在村庄i,使得所有村庄合法的最小花费]      …
Time Limit: 30 Sec  Memory Limit: 128 MBSubmit: 1570  Solved: 532[Submit][Status][Discuss] Description 在很久很久以前,曾经有两个国家和睦相处,无忧无虑的生活着.一年一度的评比大会开始了,作为和平的两国,一个朋友圈数量最多的永远都是最值得他人的尊敬,所以现在就是需要你求朋友圈的最大数目. 两个国家看成是AB两国,现在是两个国家的描述: 1. A国:每个人都有一个友善值,当两个A国人的友善值a.b…
Time Limit: 20 Sec  Memory Limit: 256 MBSubmit: 22  Solved: 8[Submit][Status][Discuss] Description 勤劳的JYY在花园里面种了好多胡萝卜!可是,今天早上JYY发现一大群从JSOI王国里面跑来的兔子把他的花园全部 占满了!兔子们把胡萝卜吃光了,JYY靠什么过冬呢!忍无可忍的JYY决定取出他的强力猎枪来消灭这些兔子.JYY 的花园是一个由N个块小菜地顺次连接所形成的圆环.菜地由1到N编号.第i号菜地和第…
http://www.lydsy.com/JudgeOnline/problem.php?id=1088 2*N的扫雷棋盘,第二列的值a[i]记录第 i 个格子和它8连通的格子里面雷的数目. 第一列的雷可能有多种方案满足第二列的数的限制,根据第二列的信息确定第一列雷有多少种摆放方案. 设第一列的值为b[i],不难得出以下递推关系 b[0] + b[1] = a[0] b[0] + b[1] + b[2] = a[1] ... b[i] = a[i-1] - a[i-2] + b[i-3]或 b[…
在NOI一周前重开一个坑 最后更新时间:7.08 07:38 7.06 下午做的几道CQOI题: BZOJ1257: [CQOI2007]余数之和sum:把k mod i写成k-k/i*i然后分段求后面的部分就好了 BZOJ1258: [CQOI2007]三角形tri:在草稿纸上按照位置和边找一下规律就好了 BZOJ1260: [CQOI2007]涂色paint:简单的区间DP BZOJ1303: [CQOI2009]中位数图:小于中位数的改为-1大于的改为1,算一算前缀和然后哈希一下乘一乘就好…
讲个笑话,这个题很休闲的. 大概是这样的,昨天看到这个题,第一眼星际把题目看反了然后感觉这是个傻逼题. 后来发现不对,这个修改一次的影响是很多的,可能导致一个数突然可以被改,也可能导致一个数不能被改. 大概就是一个不断拔高,最后拔得跟区间最大值一样高的过程. 后来开始想做法,感觉是不是可以维护一下最小的深度差,然后这个以内直接加,超过了就重构? 感觉似乎有点道理,写写写 自己想又感觉这个不太靠谱,可能会重构上天,然后就删了. (flag++) 然后问了栋老师,栋老师一眼星际(跟我下午一样),然后…
Time Limit: 5 Sec  Memory Limit: 256 MBSec  Special JudgeSubmit: 293  Solved: 144[Submit][Status][Discuss] Description 给定一棵有n个节点的树,相邻两点之间的距离为1. 请找到一个点x,使其满足所有m条限制,其中第i条限制为dist(x,a[i])+dist(x,b[i])<=d[i]. Input 第一行包含一个正整数t(1<=t<=1000),表示数据组数. 对于每组…
Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1551  Solved: 549[Submit][Status][Discuss] Description Xaviera现在遇到了一个有趣的问题.平面上有N个点,Xaviera想找出周长最小的三角形.由于点非常多,分布也非常乱,所以Xaviera想请你来解决这个问题.为了减小问题的难度,这里的三角形也包括共线的三点. Input 第一行包含一个整数N表示点的个数.接下来N行每行有两个整数,表示这个…
Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 107  Solved: 64[Submit][Status][Discuss] Description 几天之后小跳蚤即将结束自己在lydsy星球上的旅行.这时,lydsy人却发现他们的超空间传送装置的能量早在小跳 蚤通过石板来到lydsy星球时就已经消耗光了.这时,小跳蚤了解到自己很有可能回不到跳蚤国了,于是掉下了伤 心的眼泪……lydsy人见状决定无论如何也要送小跳蚤回地球,于是lydsy人的大…
Time Limit: 20 Sec  Memory Limit: 256 MBSubmit: 282  Solved: 121[Submit][Status][Discuss] Description 太空中一共有n座星球,它们之间可以通过空间传送装置进行转移.空间传送装置分为m种,第i种装置可以用4个参 数a_i,b_i,c_i,d_i来描述.因为时空抖动的问题,在非整数时刻禁止使用空间传送装置.如果在整数s时刻使用装 置,那么需要花费((a_i*s+b_i) mod c_i)+d_i单位时…
题意 给定一张 \(n\) 个点 \(m\) 条边的无向图,问删去每个点后,原图是不是二分图.输出一个长度为 \(n\) 的 \(\text{01}\) 串表示答案. 多组数据. \(T\le 5,\space 1\le n,m\le 10^5,\space 1\le u,v\le n,\space u≠v\) 题解 不难发现,一个没有奇环(奇数条边的环)的图就是二分图. 考虑分治,若一个分治区间外的点已经连出了奇环,那删掉这个区间的每个点的答案都是 \(0\).若分治到区间长度为 \(1\)…
首先,这是我n久之前培训的时候老师讲的题目了,今天突然看到,那就讲讲吧. 首先,我们考虑怎么打怪... 显然,我们需要保证这个怪要尽可能的打死(就是尽量不被干死),并且保证尽可能的净获得血量大的在前面 但是我们注意到,题目十分友好的说出了我们只需用输出一种方案就行 所以考虑最边界的情况(即贪心) 贪心,对于怪兽可以分成两类: 一类,打完之后血量不降反升,这些怪兽按照消耗血量从小到大排序: 一类,打完之后血量不升反降,这些怪兽按照恢复血量从大到小排序. 血量上升怪一定排在血量下降怪前面,易知这种打…
Description lxhgww最近迷上了一款游戏,在游戏里,他拥有很多的装备,每种装备都有2个属性,这些属性的值用[1,10000]之间的数表示.当他使用某种装备时,他只能使用该装备的某一个属性.并且每种装备最多只能使用一次. 游戏进行到最后,lxhgww遇到了终极boss,这个终极boss很奇怪,攻击他的装备所使用的属性值必须从1开始连续递增地攻击,才能对boss产生伤害.也就是说一开始的时候,lxhgww只能使用某个属性值为1的装备攻击boss,然后只能使用某个属性值为2的装备攻击bo…
http://www.lydsy.com/JudgeOnline/problem.php?id=3052 题意:n个带颜色的点(m种),q次询问,每次询问x到y的路径上sum{w[次数]*v[颜色]},可以单点修改颜色.(n, m, q<=100000) #include <bits/stdc++.h> using namespace std; const int N=100005, M=100005; typedef long long ll; inline int getint()…
DP/KMP/矩阵乘法 好神的题啊……跪了跪了 $n\leq 10^9$是什么鬼……我们还是先不要考虑这个鬼畜的玩意了>_> 用类似数位DP的思路,我们可以想到一个DP方程:$f[i][j]$表示前 i 位数字,它的最后 j 位与不吉利串匹配的方案数,显然有$ans=\sum_{i=0}^x f[n][i]$ 然后就是转移的问题了= =那么依旧按照数位DP的想法(其实是硬扯到那的吧……怎么理解都可以,重点是明白转移方程)可以想到:从 i 转移到 i+1,有10种方案,其中一种会使得匹配长度+1…
http://www.lydsy.com/JudgeOnline/problem.php?id=3319 题意:给一棵n节点的树(n<=1e6),m个操作(m<=1e6),每次操作有两种:1.查询u到根的第一条黑边的编号.2.将u到v的路径全部染成黑色 #include <cstdio> #include <cstring> #include <cmath> #include <string> #include <iostream>…
http://www.lydsy.com/JudgeOnline/problem.php?id=3319 以为是模板题就复习了下hld............................. 然后nlg^2n被tle成翔了.............................. 然后看题解QAQ,,,这... 神题做法...待会再写...(upd:[BZOJ]3319: 黑白树) tle的hld: #include <cstdio> #include <cstring> #i…
字符串Hash+可持久化线段树 好神奇的转化…… 蒟蒻一开始还去想AC自动机去了……然而由于a[i]的范围是小于等于n,怎么也想不出一个时间复杂度合理的方法 膜拜了题解0.0原来是字符串Hash! 首先每个询问的长度都是固定的!K!那么我们就可以看作一个长度为K的数!然后就可以利用字符串Hash将一个长度为n的数列转化成一个长度为n-k+1的数列!查询一个特定的序列在一个区间中是否出现过,就变成了在一段区间中,某个数是否出现过!然后就可以用可持久化线段树来维护了…… 长度为K这个条件好神啊……居…
回文自动机/Manacher+SA 这道题可以用Manacher找出本质不同的回文串(令max增大的所有回文串),然后再用SA跑出来有多少相同. 还有一种做法就是回文自动机(Orz Hzwer)的裸题= =(hzwer的模板) 回文自动机的教程戳这里:http://blog.csdn.net/u013368721/article/details/42100363 回文自动机:类似AC自动机的东西?我们处理回文子串是否相同的时候,很想用类似字典树的方式来存,但是由于是回文串= =所以不太方便用字典…
枚举/暴力/Kruskal orz……我sb了……其实是sb题<_< 有一道题问的是最小极差生成树……(不记得是什么名字了,就是求最大边权与最小边权差最小的生成树)做法是枚举最小边,然后kruskal找最大边 这题同理,因为$m\leq 5000$,所以$m^2$的算法即可…… /************************************************************** Problem: 1050 User: Tunix Language: C++ Resul…
DP/整数拆分 整个映射关系可以分解成几个循环(置换群的预备知识?),那么总行数就等于各个循环长度的最小公倍数+1(因为有个第一行的1~N).那么有多少种可能的排数就等于问有多少种可能的最小公倍数. 呃现在问题就变成了:给你一个数N,将它分解成几个数的和,然后找这些数的最小公倍数总共多少种.很明显又要找质数了>_>. 可以发现只要找循环长度(即拆出来的数)是质数的幂的情况就可以了,因为像6=2*3这种情况,我们可以用2和3来代替,又由于对于正整数来说,和$\leq$积,所以所有的非质数幂的情况…
枚举 想到以后一秒钟变水题…… 一开始我想:这不是可以随便切吗……但是突然想到:第一刀,必须切在n等分点上!因为要求最后每块的大小相等,那么同理,比如总共要切成7块,第一刀切成了$\frac{3}{7}$和$\frac{4}{7}$两部分,那么后面再切的时候就必须在三等分点和四等分点上切! 所以dfs一下,枚举是在长边上切还是短边上切,以及是在第几个n等分点上切就可以了……→_→ 对了,当n==1的时候得特判一下,ans=长边/短边.我WA在第一个点上就是因为这个……(一开始居然会想着n=1的时…
网络流/费用流 orz zyf 裸的费用流,根据题目描述即可建出如下的图: S->i 费用表示每有一个加入第 i 个小组的学生,需要花的钱,由于是跟流量(人数)的二次方相关,所以要拆边……然后每个人的报名费直接用支出减去即可(也就是每条边的费用都减去一个常量) i->j+m 根据矩阵连边……如果第 j 个学生能报名第 i 个小组即连一条边,费用为0. j+m->T 容量为k,费用为0,表示每个人最多报k个小组. 但是这题很坑啊!限制条件是参与学生尽量多,也就是说在一定会亏的时候每人最多只…
莫比乌斯反演 PoPoQQQ讲义第4题 题解:http://www.cnblogs.com/jianglangcaijin/archive/2013/11/27/3446169.html 感觉两次sqrt(n)的枚举是亮点…… RE:汗- -b 10^7是8位数,开数组少打了一个0…… /************************************************************** Problem: 2154 User: Tunix Language: C++ Re…
FFT c[k]=sigma a[i]*b[i-k] 这个形式不好搞…… 而我们熟悉的卷积的形式是这样的 c[k]=sigma a[i]*b[k-i]也就是[下标之和是定值] 所以我们将a数组反转一下就可以卷积了=.= /************************************************************** Problem: 2194 User: Tunix Language: C++ Result: Accepted Time:2008 ms Memory…
[BZOJ]1013: [JSOI2008]球形空间产生器sphere 题意:给n+1个n维的点的坐标,要你求出一个到这n+1个点距离相等的点的坐标: 思路:高斯消元即第i个点和第i+1个点处理出一个式子,这样n+1个点正好有n个系数的n元变量,即可求解. 式子:Σ( (a[i][j] - x[j])^2 )  = Σ( a[i+1][j] - x[j])^2 ) =>   Σ( x[j]*[2*(a[i+1][j]-a[i][j])] ) = Σ(a[i+1][j]*a[i+1][j] - a…
Description 轮状病毒有很多变种,所有轮状病毒的变种都是从一个轮状基产生的.一个N轮状基由圆环上N个不同的基原子和圆心处一个核原子构成的,2个原子之间的边表示这2个原子之间的信息通道.如下图所示: N轮状病毒的产生规律是在一个N轮状基中删去若干条边,使得各原子之间有唯一的信息通道,例如共有16个不同的3轮状病毒,如下图所示: 现给定n(N<=100),编程计算有多少个不同的n轮状病毒. Input 第一行有1个正整数n. Output 计算出的不同的n轮状病毒数输出. Sample I…
[题目]BZOJ 1095 [题意]给定n个黑白点的树,初始全为黑点,Q次操作翻转一个点的颜色,或询问最远的两个黑点的距离,\(n \leq 10^5,Q \leq 5*10^5\). [算法]括号序列+线段树 [题解]参考:konjac 括号序列其实就是入栈出栈序,每个点在进入时加左括号和点编号,退出时加右括号. 这样做的好处:两个点间的括号数(除去匹配的括号)就是两点间路径的长度. 除去匹配的括号后,容易发现两个点间的括号时")))((("的形式,右括号就是向上一条边,左括号就是向…
[题目]BZOJ 2111 [题意]求有多少1~n的排列,满足\(A_i>A_{\frac{i}{2}}\),输出对p取模的结果.\(n \leq 10^6,p \leq 10^9\),p是素数. [算法]计数DP+排列组合+lucas [题解]令i的父亲为i/2,转化为要求给一棵n个点的完全二叉树编号使得儿子编号>父亲编号. 设\(f[i]\)表示以第i个点为根的子树的编号方案数(1~sz[i]的排列),考虑从两个儿子处转移. 排列的本质是大小关系,所以两个排列组合起来相当于对1~sz[i&…
高精度/递推 Orz Hzwer…… 然而我想多了…… 理解以后感觉黄学长的递推好精妙啊 顺便学到了一份高精度的板子= =233 引用下题解: f[i]=f[i-1]^n+1 ans=f[d]-f[d-1] 然后加个高精度... 话说这个数据范围是虚的吧... 极限数据根本不会做.. /************************************************************** Problem: 1089 User: Tunix Language: C++ Res…