Description Solution 943718401=225*2^22+1 显然每行必须有两个,我们不妨枚举有k列有2个石子,那么有2(n-k)列有1个石子. \[Ans=\sum\limits_{k=0}^{n}{m\choose k}{m-k\choose 2(n-k)}S_k\] 抽象一下问题,我们有n种颜色的球,每种颜色的球有两个且没有区别,现在要将它们放进k+2(n-k)个有区别的盒子中,其中k个盒子无序的放2个球,2(n-k)个盒子放1个球,同种颜色的球不能放入同一个盒子,\…
题目描述:在一个\(n\times m\)的网格中,放\(2n\)个棋子,使每一行和每一列都不超过两个棋子.求方案数\(\mathrm{mod} \ 943718401\). 数据范围:\(n\le m\le 2\times 10^6\) 首先你要知道这个模数是个 NTT 模数.注意到每一行都要有两个棋子.设有\(k\)列有两个棋子,则有\(2(n-k)\)列有一个棋子的方案数是\(S_k\). \[ Ans=\sum_{k=0}^n\binom{m}{k,2(n-k)}S_k \] 然后考虑计…
杂题 2019-11-03  21:09:37  by冲冲 1.类加载器的双亲委派机制 类加载器:把类通过类加载器加载到JVM中,然后转换成class对象(通过类的全路径来找到这个类). 双亲委派机制:当有一个类进入虚拟机加载环节后,但是他自己的类加载器不去加载,而是让其父类加载器加载(让上级加载器加载),只有当父类加载器找不到这个类的时候,子类加载器才会去加载. 优点:为了安全,Object是所有类的父类,系统类的加载都是经过Object加载器加载.此时,如果有一个自定义的类,但是类名和系统类…
由于换了台电脑,而我的贪心 & 构造能力依然很拉跨,所以决定再开一个坑( 前传: 贪心/构造/DP 杂题选做 u1s1 我预感还有Ⅲ(欸,这不是我在多项式Ⅱ中说过的原话吗) 24. P5912 [POI2004]JAS 一开始直接莽了个点分治,当我测过了样例美滋滋地一交,发现自己获得了 20 分的好成绩之后,才发现事情有那么亿点点不对劲( 不难发现,题目等价于求高度最小的点分树的高度,直接求有点困难,我们不妨来对其进行一些转化:我们考虑给每个点一个标号,那么问题可以转化为,求使得任意两个标号相同…
颓!颓!颓!(bushi 前传: 贪心/构造/DP 杂题选做 贪心/构造/DP 杂题选做Ⅱ 51. CF758E Broken Tree 讲个笑话,这道题是 11.3 模拟赛的 T2,模拟赛里那道题的名字叫猛张(orz ztr),而我刚好在 11.4 把这题 A 了.乍一看好像也没啥问题,不过模拟赛时间是 2020.11.3,而我 AC 这道题的时间是 2021.11.4((( 首先看到这样的题我们肯定会想到贪心,具体来说我们 DFS 一遍整棵树,DFS 到一个节点 \(x\) 时,我们考虑用最…
先看一段很简单的java代码: toString()/** * @author jeffwong */ public class InfiniteRecursion { public String toString(){ return "InfiniteRecursion address "+ this + "\n"; } public static void main(String[] args) { InfiniteRecursion obj = new Inf…
无意识(无知)-->有意识-->进入潜意识-->无意识(本能状态) 1. 从“无意识-->有意识”的两个重要内容是“反省”+“要努力学习”,估计有80%的人无法跨过这一步 2. 从"有意识-->进入潜意识"需要大量地刻意训练,训练什么就决定成为一个什么样的人 3. 从“潜意识-->无意识”需要长期地专注某领域 反省什么: 意识到所言所行的对与错.好或坏,影响了一个人的一生的生活质量,仍至生命质量. 因为“控制自己”的关键是“自我意识”后反省,并刻意地…
正睿OI DAY3 杂题选讲 CodeChef MSTONES n个点,可以构造7条直线使得每个点都在直线上,找到一条直线使得上面的点最多 随机化算法,check到答案的概率为\(1/49\) \(n\leq k^2\) 暴力 \(n\geq k^2\),找点x,求直线l经过x,且点数最多,点数\(\geq k+1\),递归,否则再找一个 One Point Nine Nine 现在平面上有\(n\)个点,已知有一个常数\(D\). 任意两点的距离要么\(\leq D\),要么\(\geq 1.…
----19.7.30 今天又开了一个新专题,dp杂题,我依旧按照之前一样,这一个专题更在一起,根据个人进度选更题目; dp就是动态规划,本人认为,动态规划的核心就是dp状态的设立以及dp转移方程的推导,这也是训练的重中之重,所以代码不那么重要,重要的就是dp的思想; T1: A. 消失之物 题目描述 ftiasch 有 N 个物品, 体积分别是 W1, W2, ..., WN. 由于她的疏忽, 第 i 个物品丢失了. “要使用剩下的 N - 1 物品装满容积为 x 的背包,有几种方法呢?” -…
CQOI2014 数三角形 首先一看题,先容斥一波,求出网格内选三个点所有的情况,也就是C(n*m,3);然后抛出行里三点共线的方案数:C(n,3)*m; 同理就有列中三点共线的方案数:n*C(m,3) 还要刨去对角线的方案数,由于gcd(i,j)-1就是这条线((i,j)与原点的连线)的方案数,然后这样的线斜着因为方向不同就要*2 然后这样的线在整个网格中总共有(m-j+1)*(n-i+1)种所以求出公式C(n*m,3)-n*C(m,3)-m*C(n,3)-∑(m-j+1)*(n-i+1)*(…
自闭集训 Day6 杂题选讲 CF round 469 E 发现一个数不可能取两次,因为1,1不如1,2. 发现不可能选一个数的正负,因为1,-1不如1,-2. hihoCoder挑战赛29 D 设\(f(x)\)表示最后一个数小于等于\(x\)的答案,从左往右加入数并维护\(f(x)\). 加入\(A\)的时候\(f(x)\)要加上\(|x-A|\),再对\(f(x-1)\)取min. 显然\(f(x)\)是一个分段函数,而且斜率是连续整数. 于是只需要维护拐点就可以知道函数长什么样.每次就是…
Preface 又自己开了场CF/Atcoder杂题,比昨天的稍难,题目也更有趣了 昨晚炉石检验血统果然是非洲人... 希望这是给NOIP2018续点rp吧 A.CF1068C-Colored Rooks 现在还没理解题意... B. CF1070K-VideoPosts 一道模拟,没什么好说的. 不过一开始还是WA了...一个智障的坑,感觉做题还是不细心 const int maxn=100005; const int inf=0x7fffffff; int a[maxn],ave,n,k,c…
  记录一些没有写在其他随笔中的 Codeforces 杂题, 以 Problemset 题号排序   1326D2 - Prefix-Suffix Palindrome (Hard version) 题意: 给出一个串 s, |s| ≤ 1e6, 要求选出一个前缀和一个后缀(不相交, 可以为空), 使得它们连接后是一个回文串. 求最长的回文串. 思路: 马拉车处理半径数组, 用前缀, 后缀, 半径与相同的前后缀相交的情况更新答案. view code #include <bits/stdc++…
相邻 环形 总结 (1)相邻:在一个圆形操场的四周摆放着n堆石子(n<= 100),现要将石子有次序地合并成一堆.规定每次只能选取相邻的两堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分.选择一种合并石子的方案,使得做n-1次合并,得分的总和最小. /* * 在一个圆形操场的四周摆放着n堆石子(n<= 100),现要将石子有次序地合并成一堆. * 规定每次只能选取相邻的两堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分. *选择一种合并石子的方案,使得做n-1次合并,得分的…
Description 猎人杀是一款风靡一时的游戏"狼人杀"的民间版本,他的规则是这样的: 一开始有 n个猎人,第 i 个猎人有仇恨度 wi.每个猎人只有一个固定的技能:死亡后必须开一枪,且被射中的人也会死亡. 然而向谁开枪也是有讲究的,假设当前还活着的猎人有\([i_1...i_m]\),那么有\(w_{i_k}\over \sum\limits_{j=1}^{m} w_{i_j}\)的概率是向猎人\(i_k\) 开枪 一开始第一枪由你打响,目标的选择方法和猎人一样(即有\(w_{i…
UVa 11572 - Unique Snowflakes 问一个数组中,无重复数字的最长子串长度是多少. 用map维护某数字上次出现的位置.另外用变量last表示上次出现数字重复的位置. 如果出现重复数字,且map[val]>last时,计算当前区间长度,然后last变为map[val]+1. 其他时候增长区间长度即可. 每次遍历一个元素都要更新map[val],用区间长度更新最优解. #include<iostream> #include<vector> #include…
题目是来自HZW的博客(构造题我是各种不会...) Solved 1 / 1 A CodeForces 500A New Year Transportation Solved 1 / 1 B CodeForces 437C The Child and Toy Solved 1 / 2 C CodeForces 510C Fox And Names Solved 1 / 3 D CodeForces 475B Strongly Connected City Solved 1 / 2 E CodeF…
https://www.xoj.red/contests/show/1231 下面会写一些题目的解析什么的,当然不会粘贴题目只是简单提一下 (部分题目简单的题目就不概括了) 其实难度应该前面比较低. 问题A: 3894: Out of Sorts 本题求出冒泡排序需要几趟. 考虑一次冒泡排序的交换,减小对应1个位子上的1个逆序对. 但是对于每一个位子所需要减小的逆序对数量是不一样的. 对于每一趟,消去每一个位子上1个逆序对所以趟数就是每个位子上的数产生逆序对数的最大值. 最后的+1指的是即使上一…
◆HDU-5215◆ Cycle 国庆节集训的第三天……讲图论,心情愉快……刷了一堆水题,不过也刷了一些有意思的题 +传送门+ HDU ▶ 题目 给出一个无向图(无自环,无重边),求该无向图中是否存在奇环.偶环. 多组数据,每组数据第一行为n,m表示点和边的数量,接下来m行每行描述一条边. 对于每组数据,输出两行,第一行输出是否存在奇环,第二行输出是否存在偶环. ▶ 解析 因为是一个简单图,这道题就简单了很多. (1)判断奇环 有一类图是不包含奇数环的——二分图,反过来也是这样——二分图是不包含…
Time 7:50 AM -> 11:15 AM 感觉今天考完后,我的内心是崩溃的 试题 考试包 T1: 首先看起来是个贪心,然而,然而,看到那个100%数据为n <= 2000整个人就虚了,发呆接近两小时后意识到这个应该是个dp,然后开始考虑dp方程,脑残把dp打成了n^3,果断上天..而且在转移过程中推错多打了一个-1,于是3个wa 1个ac 6个TLE ,10分滚粗 T1 dp 正解: 使用二维dp记录当前状态,dp[i][j]表示在前i个妖精中选择了j个妖精的最小时间,转移过程如下:…
CF469E \(n\) 个需要表示的数,请使用最少的 \(2^k\) 或 \(-2^k\) 表示出所有需要表示的数.输出方案. \(n\le 10^5,|a_i|\le 10^5\). 首先每个数肯定都只会被选一次,因为两个 \(1\) 没有一个 \(1\) 一个 \(2\) 优. 然后发现 \(1\) 和 \(-1\) 不会同时选,不如选 \(1\) 和 \(-2\) 或者 \(2\) 和 \(-1\). 考虑缩小问题规模.如果所有数都是偶数,直接全部除以 \(2\).否则一定要在 \(1\…
P2577 [ZJOI2004]午餐 $\texttt{solution}$ 想到贪心: 吃饭慢的先打饭节约时间, 所以先将人按吃饭时间从大到小排序. 状态: \(f[i][j]\) 表示前 \(i\) 个人,在 \(1号\) 窗口打饭总时间 \(j\) ,最早吃完饭的时间. 我们可以发现 \(j+k\) 等于前 \(i\) 个人打饭总和( \(sum[i]\) ),\(k = sum(i)-j\) ,所以可以省去一维. 转移: 将第 \(i\) 个人放在 \(1\) 号窗口:(前提:\(j \…
POJ2152 树形dp,每次先dfs一遍求出距离再枚举所有点转移即可. #include<iostream> #include<cstdio> #include<cmath> #include<cstring> #include<algorithm> using namespace std; inline int read() { ,f=; char ch=getchar(); ; ch=getchar();} +ch-'; ch=getcha…
嗯...这是一道水题... 鉴于还没人写这题的题解, 那我就来写一发. 题意:有个边长为300米的正方形 嗯  这样标号 有两个人A和S,开始的时候A.S都在1(左下角)那个位置. 两个人都要按照2.3.4.1的顺序走. 有两个得分的方法:  ①. 比对手先走到点(2或3或4或1) 先走到的得1分,后走到的不得分. ②. A把S打一顿,A得一分. 题目问的是A能不能获得胜利. A在正方形里面也是可以随便走的.(比如A能直接从1走直线到3, 但是如果他要得分,他必须回到2,按照2341的顺序走 才…
中文题,题意不多说. 本来感觉很像dp 其实只要从上到下维护单调性就好了 坑是......这个oj......用cin很容易TLE...... //#include <bits/stdc++.h> #include <cstdio> #include <cstdlib> #include <cstring> #include <cctype> #include <climits> #include <iostream> #…
题目链接 题意:从1号点走到n号点(每条边只能走一次, 两结点间的边数必定为奇数) 问 经过结点不同顺序的方式有多少种(如1->2->3->4和1->3->2->4为两种) 方法数模上1000000007 此题只需先考虑相邻两结点交替的方法数 然后依次递推相乘即可 就是:如从1走到5 只需先考虑2.3交替的方法数:(很明显与边数有关的组合数) 然后类似的考虑3.4交替的方法数 最后全部相乘就可以了 公式是$\displaystyle\prod\limits_{i=1}^…
题目链接 题意:中文题 题意不多赘述 值得注意的是n<m 不必考虑n==m的情况 (m是盒子个数, n是每次选取的盒子个数, 不要弄反了!) 这题一看就是同余方程 每次选取n个盒子放球 也就是说每次都增加n个球 最后m个盒子中球的个数相等, 也就是最终状态球的总数为m的倍数 于是 很容易能得到同余方程:sum+x*n=y*m   (sum为出示状态共有sum个球) 其中x为 需要选x次盒子放球 y为 最终每个盒子有y个球 接下来只要解同余方程 若无解, 则无论怎样操作都不能达到这个目的 若有解…
题目链接 题意:题中给了图,所以不看字大概也知道  求的是第n个图形的面积. 就是找规律 递推 一类的... 先给结论: 很鬼畜的公式:    $\displaystyle\frac{3\times 17^n+2\times 7^n}{5}$ 递推式是:  $\displaystyle S_n = S_{n-1}\times 17-4\times 7^{n-1}$ 重点在于17和7是怎么来的. 在题图的基础上画些个框框 观察可以发现 图1中的 $1\times 1$的方格变成了图2中$\sqrt…
  Longest Paths  It is a well known fact that some people do not have their social abilities completely enabled. One example is the lack of talent for calculating distances and intervals of time. This causes some people to always choose the longest w…
本文出自:http://blog.csdn.net/svitter 过桥问题解释:一条船能够坐两个人,可是有非常多人要过河,所以送过一个人去,还有一个人还要回来接.使全部人过河之后时间最短,怎样求? 此问题曾作为阿里巴巴题目 初看此题想的太过简单,直接让跑的最快的送过去,自己再跑回来就可以.事实上不然. 函数g(a,b)表示过河,b(a)表示回来.假设过河时间分别为1,2,5,10 那么两种过河方案: 1.初想方案: g(1,2)=2 g (1, 10) = 10 g (1, 5 ) =  5…