
计数
二分抄代码
去了18ec没资格去19ec的反向训练选手
展开
-
gym102835K Number with Bachelors
https://codeforces.com/gym/102835/problem/K经典比赛结束3s过题艹我忘记2^64十进制下是19位,一直还以为是long long 的18位卧槽,2^63才是18位,队友发现这个我改了预处理的上界就过了,我吐了先讨论10进制情况统计x为上界时,首先位数少于x的肯定每一位随便选,那么这个就可以预处理出来,10个数字选i位放=A(10,i)然后我们就只要处理前i为与x的前i-1位相等,当前位选j,后面随便选的情况了,那么就枚举第i位为j,且j与前面已经原创 2020-12-02 22:42:39 · 281 阅读 · 0 评论 -
hdu6052 To my boyfriend 2017多校2
http://acm.hdu.edu.cn/showproblem.php?pid=6052我太菜了.jpg,比赛的时候没做出来这种统计肯定是按数字来统计的,但我没想清楚怎么去重其实只要考虑每个数字是多少个矩阵最上面一行最左边就行了由于我们先优先最上面一行,所以下面肯定就随便算了,那么向下拓展的down始终为n-i+1然后我们再从下向上枚举每一行有多少向左l和向右r,乘起来再乘以down就行了首先在当前行他肯定是最左的一个,那么r=m-i+1,l就是到上一个+1的地方然后枚举他上原创 2020-10-10 19:13:46 · 1871 阅读 · 0 评论 -
codeforces1355C Count Triangles
https://codeforces.com/contest/1355/problem/C这题是abcde中最难的题了。。。这种考验下标细节的题总是卡好久枚举A:a->b然后对于B有3种情况,第一种是选某个B,c-d中可以随便选C原创 2020-05-16 22:05:10 · 253 阅读 · 0 评论 -
gym101482K nwerc2014 Knapsack Collection
https://codeforces.com/gym/101482/水题写一年离散化一下坐标,假设排序后的坐标是a[1],a[2],那么[ a[1]+1 , a[2]]这一段区间的情况都是相同的,区别只是第一次收拾行李的时间不同,最大值肯定从某个a[i]+1开始,最小值肯定从某个a[i]开始,均值搞个等差数列求和就行了,每次取走一个后找下一个,我用的是线段树上二分找下一个,O(n^2log...原创 2020-04-19 11:50:41 · 225 阅读 · 0 评论 -
codeforces1261D1 Wrong Answer on test 233 (Easy Version)
https://codeforces.com/problemset/problem/1261/D1首先k=1直接是0对于一段长度为len相同的数字,他们向右移动一位,有len-1个是肯定不变的,每个位置都可以选1-k那么我们考虑剩下的所有都是不同的数字的序列,每个位置的数字要么在之后+1,要么移动后-1,要么不变,这3种情况的方案数分别为1,1,k-2注意,k=2的时候,一个不变的...原创 2019-11-24 22:16:34 · 517 阅读 · 0 评论 -
codeforces1228E Another Filling the Grid
https://codeforces.com/contest/1228/problem/E上周病了一周咕了好几场cf,突然想起这题没补然而一直都不会于是去杯橘猫那里偷学了一手https://blog.youkuaiyun.com/ccsu_cat/article/details/101731113#include<bits/stdc++.h>#define maxl 310con...原创 2019-10-06 01:51:44 · 250 阅读 · 0 评论 -
codeforces1027D Number Of Permutations
传送门:http://codeforces.com/problemset/problem/1207/D反向求good array,那就在总方案数 n! 中把bad array全部减掉我们先把数组按照a排序,那么因为第一维是不降的方案就可以计算出来了,就是对于相同的一段a,他们内部可以随便交换位置,那么这段长度为len的相同的a就可以贡献 len! ,把所有len!乘起来就是 第一维不降的方...原创 2019-08-23 09:38:59 · 360 阅读 · 0 评论 -
Game 2019百度之星初赛第一场
由于要依次完成任务,所以对于我们从前到后把可以取交集的取交集,不行就新开一段。这样由于要从前到后完成任务,就是这些互不相交的交集区间要依次到达。于是我们先根据第二个区间的位置选择第一个区间开始的起点然后就每次根据下一个区间与这个区间的相对位置选择到达的端点就行了。有个小细节,就是走到端点长度为奇数的情况下,不一定是走到端点,而是可能再走一格,代价一样,但是对后面的更优#i...原创 2019-08-17 21:12:39 · 587 阅读 · 0 评论 -
J Symmetrical Painting 2019牛客多校第九场
我太菜了啊,这题想了好久没想出来,队友想出来,一开始还错了,4个多小时才过,队友爆long long WA了一发,然后我数组全改成long long ,结果这题只有30mb的空间,然后我又mle了两发。。。。罚时爆炸。其实可以知道,对于一条黑色矩形,中位线从左向右移动,那这条黑色矩形的贡献是先增大再减小的。可以想到,中位线一定在某个矩形的左端点或者右端点或者中点上,因为每段的中间,都是递增...原创 2019-08-15 22:01:04 · 225 阅读 · 0 评论 -
csuoj 2000 Tian Ji's Horse Race Again 2017湖南省赛
完了,这场先WA一发 A,再WA B,然后发现问题后又WA一发A。。。心态爆炸,不然这题早过了,而且也能写完I了。Last time, the king of the country Qi lost to Tian Ji in a horse race as Tian using a little trick. Today, the king invites Tian to play anot...原创 2019-08-25 08:59:03 · 344 阅读 · 0 评论 -
hdu6628 2019杭电多校第五场 暴力计数
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6628jc[i]表示 i的阶乘ok[i+n]表示假设下一个位置的差值为 i 时 有多少方案数。从p1(u=1)开始枚举,如果k>sum[i+n]*jc[n-1-u],那么说明这一位放i的话,后面的数字全排列的方案数还不够k的,那么直接减去,i=i+1。vector<node&...原创 2019-08-05 20:24:14 · 499 阅读 · 0 评论 -
bzoj1123 [POI2008]BLO
对于一个点的答案ans[u],如果u不是割点,那么删去u,其他点还是连通的,由于是有序点对,那么ans[u]=2*(n-1)如果一个点是割点,那么则需要另外讨论。在tarjan搜索的路上,记录u的所有子节点v的权重sum,首先对于所有儿子v,size[v]表示搜索树中v子树的节点个数,那么这个size[v]为有序对前一个的贡献就是ans+=size[v]*(n-size[v])。然后是...原创 2019-07-27 20:16:44 · 168 阅读 · 0 评论 -
2019牛客多校第二场 J subarray
题目链接:https://ac.nowcoder.com/acm/contest/882/J开场发现咖啡鸡过了,然后发现好像能做,然后用了树状数组2e7*logn,超时,过了20%,之后才去签H的到。赛后看了一眼题解,发现因为是连续的,直接用数组,不用树状数组,改了一晚上一上午,答案错误,通过率从53%到76%到80%,然后就实在想不到错哪了,弃疗了。牛逼网友链接:https://ww...原创 2019-07-22 10:51:16 · 922 阅读 · 3 评论 -
Gym 101981J 2018南京
现场赛的时候qt一下就过了这题。。。然后今年我想了挺久的。。。计数还是太菜了我们对于每一个质数考虑,看有多少个区间,这个质数是存在的。那么其实就是所有的区间数量减去没有这个质数区间的数量对于一段连续的没有这个质数的区间长度为len,那么这一段中没有这个质数的区间的数量为len*(len+1)/2.先线性筛素数,记录最小质因子,那么我们对每一个ai进行nlogn的质因数分解,分解...原创 2019-04-14 22:48:26 · 428 阅读 · 0 评论 -
codeforces 1140E Palindrome-less Arrays
考场上想得太简单了很显然,奇数位和偶数位上的分开后,相邻位置的数字不相同就是good了然后考场上直接乘法原理了。。。其实不然,因为1 -1 -1 1这种跟2 -1 -1 1这种答案是不相同的,但是我考场上没考虑到就把样例全过了。所以需要讨论,奇数位偶数位分开后,单独对其中一条数列讨论,分为左右都没有限制,只有左边有限制,只有右边,两边都有但数字不同,两边都有单数字相同这5种情况,分...原创 2019-03-23 16:24:42 · 272 阅读 · 0 评论 -
HDU6267 Master of Random
突然发现去年打的比赛在HDU上挂出来了,做了一蛤当时我写的DP,还是用了1个多小时,果然一年了水平还是没有长进么,菜哭一开始思考新增一个点i的时候,对于k=1-(i-1)考虑,有多少种方案拿到k后,i是k的子树的。我原先以为就是(i-k)!,这样想的话出现了一个错误,那就是k不一定i的子树。于是换一种想法,设sum[i]为1-i号点,每个点对答案贡献的数量的和。而每个点对答案就贡献是,就是...原创 2018-09-29 10:26:07 · 315 阅读 · 0 评论 -
HDU5117 北京网络赛F
好菜啊,完全没有思路,没有想到那个X^3是突破点,(x1+x2+x3+xn)*(x1+x2+xn)*(x1+x2+xn)那么我们只要枚举i,j,k不管顺序,然后看着m个按钮按或不按,对xi,xj,xk都为1,才对答案有贡献,于是状态压缩对i,j,k一蛤就是0-8,于是复杂度是n^3*m*8。#include<bits/stdc++.h>#define maxl 51#defi...原创 2018-09-27 22:09:52 · 204 阅读 · 0 评论 -
Gym101194 H Great Cells
一堆人做出来了,就我不会做,感觉我完全不会计数题啊,菜的雅痞。还好最后qt想出来了,不然要凉。看似值域为1-k,然后求恰好有g个greatcell很像多校里面jls的一道题,然而这个限制更多,对于一个g已经这么难求了,而对于所有g我感觉简直冇得任何办FA。于是继上次遇到那个输出X^3次方的套路后,这题的套路又在他要输出的答案上,对 (g+1)Ag 求和拆成2个部分,sigma Ag就是所有...原创 2018-09-28 20:34:43 · 337 阅读 · 0 评论 -
HDU5975
对于第一种操作,我们枚举枚举Lowbit=1<<0,1<<1,1<<2在1-R和1到1-(L-1)中分别有多少个数,再乘以lowbit(区间长度),然后相减,注意要判断R和L-1是否有枚举的lowbit这一位,来准确计算有多少数,R/lowbit的意思就是把最后几位为0,lowbit为1,前面剩下的位数到0的个数就是所求值了,比如要求1--12中有多少个末尾是1...原创 2018-10-03 11:09:16 · 308 阅读 · 0 评论