思维
文章平均质量分 95
gmh77
这个作者很懒,什么都没留下…
展开
-
jzoj6299. 工厂
DescriptionInputOutputSample InputSample 1:21110Sample 2:21000Sample 3:3000110000Sample OutputSample 1:1Sample 2:1Sample 3:3Data ConstraintHint题解论想到正解却没打出来是怎样一种体验若两个人之...原创 2019-08-13 08:07:37 · 217 阅读 · 0 评论 -
51nod1222 最小公倍数计数
题目描述定义F(n)表示最小公倍数为n的二元组的数量。即:如果存在两个数(二元组)X,Y(X <= Y),它们的最小公倍数为N,则F(n)的计数加1。例如:F(6) = 5,因为[2,3] [1,6] [2,6] [3,6] [6,6]的最小公倍数等于6。给出一个区间[a,b],求最小公倍数在这个区间的不同二元组的数量。例如:a = 4,b = 6。符合条件的二元组包括:[1,4...原创 2019-06-10 18:59:49 · 204 阅读 · 0 评论 -
斐波那契博弈(+清真题解)
前言之前因为要出(ban)题所以从黑书上搬了一道题下来,自已yy出了一个解法结果在pty的博客中发现了原题然后就自闭了(p.s:最后有清真题解)题目有一堆石子有n颗,双方轮流取石子。先手第一次可以拿至少一个但是不能拿完接下来每次取的石子至少为1个,至多为上一次拿的两倍问先手是否有必胜策略魔改版van和魔男在更衣室里玩游♂戏。更衣室里有n个男魂,van先手,魔男后手,van第...原创 2019-04-17 21:39:55 · 585 阅读 · 2 评论 -
jzoj6005. 【PKUWC2019模拟2019.1.17】数学(生成函数&分治FFT)
DescriptionInputOutputSample Input4 5Sample Output2样例解释:Data Constraint20%随便搞个dp设s[i][j]表示当前已经乘了i个数,末尾的数为j显然可以写一个O(n3)的dp,然后用前缀和优化到O(n2)45%考虑求答案的生成函数生成函数是™什么东西?就是一个奇♂妙的函数,这个函数的xp完...原创 2019-01-22 08:20:07 · 296 阅读 · 0 评论 -
5921. 【NOIP2018模拟10.22】种花
题目大意因为找不到题面所以就勉为骑♂男C了一张下来思路因为题目要求的是最后的总和,所以可以分开每一对a[i]和a[j]来考虑,计算每一对的贡献对于每一对数,考虑其位置和出现次数,可以分成几类出现次数相同的来讨论分类讨论设b[i]表示p[i]在原序列的位置,枚举a[i]和a[j]的具体数值,然后考虑ij在原序列上的位置(i&amp;amp;amp;amp;amp;amp;amp;lt;j 且 a[i]&amp;amp;amp;amp;amp;amp;原创 2018-12-01 17:47:55 · 221 阅读 · 0 评论 -
jzoj5968. 电竞选手
题目描述心路历程拿到题一看,f**k又是找规律于是首先搞了ai全部相等的情况,发现f[n]=f[n-1]*C(n,2)之后开始搞有两种不同的a的情况推测是每段的f只积乘以一个数后来发现是组合数,似乎找到了规律搞完多种a之后,这tm是什么但由于我测的是两个固定长度+一个变化长度的数据,于是发现乘的是(一个组合数*一个数)感觉可能要考虑每两段之间的关系,于是猜测是两个组合数...原创 2018-11-24 17:41:21 · 267 阅读 · 0 评论 -
浅谈平衡规划(jzoj5803. girls、jzoj5951. 【NOIP2018模拟11.04】锋芒毕露)(+对勾函数之类的知识)
DescriptionInputOutputSample Input51 2 1 2 1Sample Output2Data Constraint原创 2018-11-07 07:35:18 · 1065 阅读 · 3 评论 -
jzoj3935. 【NOIP2014day2官方数据】解方程
问题描述未完成原创 2018-10-24 22:02:42 · 221 阅读 · 0 评论 -
jzoj5894. 【NOIP2018模拟10.5】同余方程
题目描述30%直接暴力搞60%可以打个表找规律,发现大致可以分成log段连续的数然后随便搞100%考虑用容斥的思想,把询问拆成四个所以就变成了求ans(l,r)=∑i=0l∑j=0r(i⊕j)≡0&amp;amp;ThickSpace;(mod&amp;amp;ThickSpace;m)ans(l,r)=\sum_{i=0}^{l}{\sum_{j=0}^{r}{(i⊕j)≡0\;(mod \...原创 2018-10-05 21:42:41 · 294 阅读 · 0 评论 -
jzoj4424. 【HNOI2016模拟4.2】道路
题目描述 20%暴力+打表 用优美的暴力跑上几个小时就算出n=8的值了 好像前20分都是n=850%不会100%真是一道神题。。。先考虑k=0的情况,那么就是jzoj上的另一道题 3303. 【集训队互测2013】城市规划正难则反,...原创 2018-08-21 19:59:46 · 231 阅读 · 0 评论 -
LOJ#4. Quine
题目描述写一个程序,使其能输出自己的源代码。代码中必须至少包含十个可见字符。题解这题好神仙啊。。。因为不会骚操作所以就写了一个通用的做法:用一个字符串数组记录下除去该字符串的代码然后依次输出,输出到字符串数组时就再输出一遍(要加上引号和逗号并特判最后一行)最后把剩下的输出完code#include <bits/stdc++.h>#include <iostr...原创 2019-07-11 16:49:46 · 1041 阅读 · 1 评论 -
codeforces1178F1/F2
F1题目描述题目大意有n次染色,每次选择一个纯色区间[ai,bi],将其染成颜色i求能染成最终状态的染色方案数题目保证每种颜色至少出现一次且不存在未被染色的格子题解F1是F2的弱化版,而且F1并不难想虽然比赛时没想出来设min[l][r]表示[l,r]中最小的颜色设id[i]表示颜色i出现的位置(只可能有一种)因为m=n,所以每种颜色刚好出现一次设f[i][j]表示覆盖...原创 2019-07-23 21:31:35 · 649 阅读 · 0 评论 -
jzoj1901. 光棱坦克
题目描述Description 一个平面直角坐标系上,有N个点,标号为1到N,其中第i个点的坐标为(x[i], y[i])。 求满足以下两个条件的点列{p[i]}的数目(假设{p[i]}的长度为M): 1) 对任意1 <= i < j <= M,必有y[p[i]] > y[p[j]]; 2) 对任意3 <= i <= M,必有x[p[i-1]]...原创 2019-08-13 21:30:40 · 309 阅读 · 0 评论 -
jzoj1900. 矩阵
DescriptionInput输入第1行有一个整数N。第2~N+1行每行N个非负整数,用空格隔开,描述B 矩阵。第N+2行,有N个非负整数,用空格隔开,描述C 矩阵。输入数据保证没有多余的空格和换行。Output只需要输出一个整数,表示你找到的元素值最大 D矩阵。Sample Input31 2 13 1 01 2 32 3 7Sample Output2Dat...原创 2019-08-13 21:04:45 · 209 阅读 · 0 评论 -
codeforces1202D
题目描述题目大意给出n(n≤109),求一个字符串S,满足①|S|≤105②Si∈[‘1’,‘3’,‘7’]③S中子序列"1337"的个数刚好为n题解人类智慧构造题显然不能直接11111…11337由于3是按平方级增长的,所以先加入大量3,使得答案接近n,然后再通过加7来补到n考虑一种构造方式:133777…7(a个7)333…3(b个3)7那么sum=(a+1)+(b...原创 2019-08-09 07:48:25 · 214 阅读 · 0 评论 -
hduoj6625.three arrays
题目描述Problem DescriptionThere are three integer arrays a,b,c. The lengths of them are all N. You are given the full contents of a and b. And the elements in c is produced by following equation: c[i]=...原创 2019-08-05 19:12:56 · 309 阅读 · 0 评论 -
jzoj3539. 折射伤害
题目描述Description在一个游戏中有n个英雄,初始时每个英雄受到数值为ai的伤害,每个英雄都有一个技能“折射”,即减少自己受到的伤害,并将这部分伤害分摊给其他人。对于每个折射关系,我们用数对(xi,yi,zi)来表示xi将自己受到伤害去掉zi的比例,将这些伤害转移给yi(xi,yi是整数,zi是实数)。求出经过反复折射后最后每个英雄受到的实际总伤害。Input第一行一个正整数:n...原创 2019-08-04 22:05:52 · 314 阅读 · 0 评论 -
codeforces1199E
题目描述题目大意给出一个3n个点、m条边的无向图,找一个n条边的边集(保证没有重点)或n个点的点集(保证没有相邻点)题解这题的正解很妙由于有3n个点,可知2n/2≥n和n≥n和n+2n=3n废话所以暴力找出一个尽可能大的边集,使得没有两个边集外的点相邻显然,剩下的是一个合法的点集如果找到≥n条边,那么就输出边集否则边集覆盖的点<2n,则剩下点集的大小一定>n...原创 2019-08-03 16:33:03 · 212 阅读 · 0 评论 -
codeforces1178E
题目描述题目大意给出一个只含有’a’、'b’或’c’的相邻字符不同的字符串s,求一个长度≥|s| div 2的回文子序列t正解这题的正解很妙任意选两组相邻的两个字符,那么这两组中一定有相同的字符因为一组中字符不能相同,所以一组选了两个不同的,另一组不能选出另外两个不同的(只有三种字符)那么可以把s串从两侧向中间收缩,每次左右各取两个字符,这两个组一定有一个相同的字符如此来构回文...原创 2019-07-21 14:29:09 · 208 阅读 · 0 评论 -
codeforces1195F
题目描述题目大意定义两个凸多边形的“合并”:将凸多边形内的每个点相加(向量加)组成一个新凸多边形若干次询问,求[L,R]内凸多边形相加后得到的凸多边形的顶点数前言因为C题读错题导致E题没调出来,rank2000+F题比赛时没看,后来发现不难正解一个并不显然的结论:两个凸多边形相加得到的顶点数为这两个多边形同逆时针方向上不同的方向种类感性证明一下凸多边形相加等于将一个凸多...原创 2019-07-21 08:55:54 · 167 阅读 · 0 评论 -
codeforces1196F
题目描述题目大意给出一张图,求从1~n出发得到的最短路总数的K短路(保证u–>v,u<v)是多少乱搞显然可以想到二分答案+判断但可能会因为二分结果太大导致耗时很多(其实也并不多),于是加上类似(?)迭代加深的做法,每次在一段里二分,如果没找到就在下一段里找结果在我用正解A了之后才发现被hack了code#include <iostream>#inclu...原创 2019-07-28 21:56:34 · 221 阅读 · 0 评论 -
jzoj5784. 【省选模拟2018.8.8】 Function
题目描述27%转换一下题目,就变成 给出一个坐标系上的一个点(x,y),其中每列的权值相同,每次可以向上或向左上走一步,求走到最顶端时经过的最小的权值和结论所以有一个结论: 最优解法一定是先向左上走若干步(或不走),之后直接走到顶证明可以感性证明一下: 假设这是一个解 如果有更优的解,那么应该是这样的(其它情况类似) 该解更优,也就是说灰色部分...原创 2018-08-09 18:56:28 · 243 阅读 · 0 评论 -
JZOJ5679. 【GDOI2018Day2模拟4.21】山景城
题目描述Description 山景城毗邻雷克雅未克,位于美国东南部,高楼林立,彻夜灯明,是美国乃至世界的经济贸易中心。最有名的地标建筑当属南岸花园广场,这里不仅是洛杉矶银河队的主场,并且众多国际歌星,如二人转演员蕾哈娜,伟大的人民艺术家 pdd 都曾在这里举办过演唱会。 花园广场球馆的内部由 n 个独立的展厅组成,不同展厅间由 n − 1 条双向的走廊连接而互相可达。二月三十一号那天,花...原创 2018-05-16 20:01:54 · 337 阅读 · 0 评论 -
JZOJ5600. 【NOI2018模拟3.26】Arg
题目描述Description 给出一个长度为 m 的序列 A, 请你求出有多少种 1…n 的排列, 满足 A 是它的一个 LIS.Input 第一行两个整数 n,m. 接下来一行 m 个整数, 表示 A. Output 一行一个整数表示答案.Sample Input 5 3 1 3 4 Sample Output 11Data Constraint 对于前 3...原创 2018-04-04 18:30:41 · 232 阅读 · 0 评论 -
高中OJ3837. 【NOIP2014模拟9.14】心灵终结
题目大意:在N*M的棋盘上放置若干个马,要求这些马不能互相攻击,求最多能放多少个马。正解:设N≤M 分类讨论: N=1:无论怎样放都不会打到其他的马,所以放满。 N=2:放最多的马,要尽量让马的攻击目标重叠。 设四个为一组,共有M div 4组。 每一组有4个,所以有(M div 4)*4个。 再加上不足一组的马,算出最终结果。 N>2: 通过观察可以发现,只要全部在黑色或白原创 2017-01-14 16:56:33 · 454 阅读 · 0 评论 -
组合数的性质&证明
组合数原创 2017-08-06 18:15:46 · 4933 阅读 · 0 评论 -
线性筛法(欧拉筛)
欧拉筛的使用方法原创 2017-08-19 16:07:38 · 466 阅读 · 1 评论 -
高中OJ3515. 【NOIP2013模拟11.6B组】软件公司
首先想到DP。 设F[i,j]表示第一项工作做了i次,第二项工作做了j次时的最小时间。 枚举一重表示当前到那个人,两重表示当前状态,两重表示上一个人时的状态。 O(m^4n)。。。这样设肯定不行。 因为有两个状态+一个时间共三个量,所以可以想到通过二分时间,枚举一个量来算另一个量。 设F[i,j]表示一直到第i个人,第一项工作一共做了j次时第二项工作能做的最大次数。 设t表示二分的时间。原创 2017-02-11 16:03:20 · 322 阅读 · 0 评论 -
高中OJ3516. 【NOIP2013模拟11.6A组】摧毁巴士站
30分: 枚举要摧毁的车站,判断符不符合要求。 100分: 很显然,2^48会超时。 解决办法是有选择性的进行删点。基本的思路就是,一条长度不超过k的最短路径上的点,至少有一个是要被删掉的(至于删除哪个好,可以枚举尝试),删掉一个点后再重新求最短路,如果新求出的最短路径长度仍然不超过k,那么就在新的最短路径上再找出一个点删掉,然后再求最短路径……直到求出的最短路径长度超过k,那么就找到了一原创 2017-02-11 17:05:40 · 575 阅读 · 0 评论 -
初中OJ1599. 【GDKOI2004】香樟树
这道题有些难度,分享一下解题方法。 题目:https://jzoj.net/junior/#main/show/159960分:简单的DP。设F[i]表示到一直第i棵树时选出的树数量的最大值。 F[i]=max(F[j]) (gcd(a[i],a[j])>1)100分:用DP会超时。两个数不互质,就说明这两个数有相同的质因子。 而每棵树的叶子个数<=100000,而2*3*5*7*11*1原创 2017-02-11 21:52:40 · 534 阅读 · 0 评论 -
jzoj3505. 【NOIP2013模拟11.4A组】积木(brick) (正解)
好久没写题解了*2声明想看DP水法者请自觉点击右上角的红叉引入观察题目可以发现,最终结果一定是一个类似于山峰的图形。 因为每次更新区间时,首和尾都不会被增加( [A+1..B-1] )所以很显然,我们可以把区间分成一段段来求解,求出的解之积就是最终答案。推导根据上面可以直到,每一段首尾已知的区间内无论怎样变化,在区间外的其它值都不会为之改变。所以一段区间内的值只和首与尾有关,与其他值无关。根据这个原创 2017-07-16 07:31:06 · 353 阅读 · 0 评论 -
高中OJ3733. 【Usaco2014Open银组】照相 (非线段树算法)
这题可以用线段树去做,但是比较麻烦。根据题目可以知道,当一个序列可以成立时,该序列长度必须为偶数且该序列中W的个数要不小于S的个数。 ∵总W个数-左W个数-右W个数≥总S个数-左S个数-右S个数 ∴总差-左差-右差≥0 ∴总差-右差≥左差 右边的差很好求,只要从后往前累加一个前缀和。 为了让结果最大,所以就要尽量往左扩展。 根据上面的公式,设sum[i]表示从左第1位开始累加前缀和小于等原创 2017-03-22 19:45:57 · 466 阅读 · 0 评论 -
【USACO题库】3.4.3 Electric Fence电网
经过观察可以发现,坐标x,y只保留了一位小数。 所以可以直接把坐标系放大10倍,找出结果最小的点,再把该点的x,y坐标除以10。 但是因为放大后再枚举可能会超时,所以要修改一下算法。先通过枚举原坐标系,找出结果最小的点。 那么答案一定在该点附近。 于是选定一块以该点为中心,边长为2的正方形,把里面的坐标扩大10倍再找。 这样可以少很多枚举次数。关于如何计算距离比如这样: 那么距离就是原创 2017-03-29 19:50:18 · 606 阅读 · 0 评论 -
高中OJ3511. 【NOIP2013模拟11.5A组】cza的蛋糕(cake)
题目Description cza特别喜欢吃海苔,怎么吃也吃不够。cza的生日到来时,他的父母给他买了许许多多的海苔和一个生日蛋糕。海苔是一个1*2或2*1的长方形,而蛋糕则是一个n*m的矩阵。蛋糕上有一些蜡烛占据了位置,其他地方都可以放海苔。cza的父母让cza把海苔尽可能多的放在蛋糕上,但是海苔不能够重叠放置。cza想把海苔留着自己以后慢慢吃,可又不敢违背父母,于是他决定放一少部分在蛋糕上。原创 2017-08-06 15:02:00 · 403 阅读 · 0 评论 -
高中OJ4086. 选数(number)
详细题解原创 2017-08-15 16:52:04 · 239 阅读 · 0 评论 -
4007. 【GDKOI2015】星球杯
题目描述 Input 第一行两个整数 N (2 <= N <= 200)和 K(1 <= K <= N/2),分别表示参赛人数和每轮预赛的晋级人数。 接下来 N 行, 第 i 行为第 i 个选手的情况, 每行三个整数, 分别为该选手参加第一轮预赛的得分 Xi,参加第二轮预赛的得分 Yi,以及该选手的所属国度 Zi( 1 表示阿斯嘉德, 0表示米德加尔特)。 注意...原创 2018-03-27 19:12:51 · 171 阅读 · 0 评论 -
JZOJ3501. 【NOIP2013模拟联考15】消息传递
辣鸡题解题目描述给出一棵树,可以任意选择一个点作为起始点(消耗1时间)。在1单位时间内,每个上轮已访问过的点可以扩展一个节点,求最少花费时间和最少花费的起点。20%DPDP。设F[i]F[i]表示传完ii为根的子树所需要的最小时间。 则F[i]=max(F[j]+j)F[i]=max(F[j]+j) , j∈son[i]且F[j]≥F[j之后的儿子] j∈son[i] 且原创 2017-12-11 20:41:32 · 425 阅读 · 0 评论 -
JZOJ2199. 【中山市选2010】股票投资
一道看似很难的DP原创 2018-01-10 19:10:09 · 257 阅读 · 0 评论 -
JZOJ3599. 【CQOI2014】排序机械臂
splay裸题不解释。。。按照位置为关键字排序,维护子树大小和区间最小。 之后每找到一个最小的值,就把它区间旋到边上,然后放到最顶上扔掉写得相对比较优美code:#include #include #include #define fo(a,b,c) for (a=b; a#define fd(a,b,c) for (a=b; a>=c; a--)#define min原创 2018-01-17 19:38:34 · 186 阅读 · 0 评论 -
JZOJ3193. 【中山市选2013】点
题目大意扯淡正题code题目大意给出两个点集,判断能否对其中一个点集进行旋转、平移、翻转、放大后与另一个重合。扯淡第一眼看上去似乎很难 看题解看到懵逼,别人的方法感觉不太可靠 于是随手写下自己的方法发现跑得挺快 咳咳正题先不看题目。 假设有两张纸片,要判断这两张纸片是否相似,怎么做? 判断相似,肯定要先把它们放在一起。 至于原创 2018-01-20 22:09:24 · 303 阅读 · 0 评论