自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 hdu 5439 Aggregated Counting

解题思路:找公式,预处理,二分 b[n]中存储i的最后的位置,n在b[]b[ ]中的位置,代表其在f(f(n))f(f(n))中的系数 eg: n=3 f(n)=5, f(f(n))=1+ (2+3)*2 #include<iostream> #include<cstdio> #include<cstring> #include<

2016-08-26 15:46:17 375

原创 hdu 5862 Counting Intersections多校第十场

题意: 给你nn条平行于坐标轴的线段,判断线段之间的交点有多少。无重合线段,任意两条线段之间无相同端点。 官方题解: 由于数据限制,只有竖向与横向的线段才会产生交点,所以先对横向线段按x端点排序,每次加入一个线段,将其对应的yy坐标位置+1,当出现一个竖向线段时,查询它的两个y端点之间的和即为交点个数. 解题思路: 树状数组 首先将这些点离散化,然后处理线段时将点分为三种类型。将横向线段

2016-08-18 23:05:44 240

原创 2016中国大学生程序设计竞赛 - 网络选拔赛 hdu5833 Zhu and 772002

题意: 有n个数,选任意个数,使得乘积为一个完全平方数。 解题思路: 题目保证这n个数的素因数不超过2000,也就是其素数的个数不超过303303,构造一个303∗n303*n的0101矩阵,进行高斯消元 ans=2ans= 2^(n−秩)−1(n-秩) - 1。 矩阵的构造:分解每一个数,统计其素因数出现的次数,奇数个在相应位置记为11,否则记为00。#include<iostream>

2016-08-15 11:52:33 268

原创 2016中国大学生程序设计竞赛 - 网络选拔赛 hdu 5839 Special Tetrahedron

题目大意:空间中有n个点,选出四个点构成一个四面体,四面体满足 1、至少四条边相等 2、如果四条边相等,不相等的两条边不相邻 解题思路: 1)先枚举两个点P1,P2P1,P2。构造一个以这两点为法向量,且经过这条线段中点m1m1的平面。(空间平面方程:平面法向量为 n=(A,B,C)n=(A,B,C),平面方程就为Ax+By+Cz=dAx+By+Cz=d)。 2)判断在此平面中的点,记录下

2016-08-15 11:13:38 280

原创 cf XOR and Favorite Number

现在有一个前缀异或和数组sum[], 现在我们要求区间[l,r]的异或的值, 用sum数组表示就是sum[l-1]^sum[r]==k,或者找区间中满足k^sum[r]==sum[l-1]的个数 异或:l~r之间的异或值为 sum[r]^sum[l-1]#include<iostream> #include<cstdio> #include<algorithm> #in

2016-08-07 17:23:29 276 6

原创 hdu 5806 NanoApe Loves Sequence Ⅱ

题意:求满足第K大的数>=m>=m的区间个数 解题思路:将这N个数>=m>=m的标记为1,#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> using namespace std; typedef long long ll; int cnt[200000+10]; ll

2016-08-06 22:59:26 235

原创 hdu 5125 magic balls

题意: 有N个人,每个人有ai、bi两个球,可以用魔法交换ai和bi,每次交换消耗一点魔力值。现在有m点魔力值,问你最终得到的a的最长上升序列是多少,魔力值不能小于0. 解法: dp[i][j][k]:             i:代表当前的位置             j:代表当前取a或是取b (0代表取a,1代表取b)             k:当k==0时,代表当前的最长序列,

2016-08-06 15:58:58 205

原创 hdu 5800 To My Girlfriend

∑i=1n∑j=1n∑k=1n∑l=1n∑m=1sf(i,j,k,l,m)(i,j,k,laredifferent) i,j为必选数的序号,k,l为必不选数的序号,m是背包体积。 官方题解: 令dp[i][j][s1][s2]表示前i个物品填了j的体积,有s1个物品选为为必选,s2个物品选为必不选的方案数(0<=s1,s2<=2),则有转移方程dp[i][j][s1][s2] = dp[

2016-08-06 15:40:42 216

原创 hdu 5802 Windows 10

官方题解: 您可能是正版Windows 10的受害者_ 直接贪心就好 比较直观的看法是使劲往下降,然后升回来 或者使劲往下降然后停顿然后再使劲往下降。。。 于是就能将问题变成一个子问题,然后dfs就好 需要注意的是由于按up键也可以打断连续向下的功效 所以应该记录停顿了几次,以后向上的时候用停顿补回来 当p<=q时,直接上升即可 当p>=q时,用down

2016-08-05 11:39:20 403

原创 lower_bound 和 upper_bound

函数lower_bound()在前闭后开区间进行二分查找,返回大于或等于key的第一个元素的位置。若书所有元素都小于val,则返回区间的最后的位置。 函数upper_bound()在前闭后开区间查找key的上界。元素值>key值的第一个元素位置。

2016-07-25 16:30:30 170

原创 多校 1001 Acperience

题意:给一组数W,-10000=0。求  各个 ( wi-@bi)^2  和的最小值解题思路,求这一列数的方差,@取其平均数,当wi要注意,在求方差时不能直接求,中间结果会暴long long,要用S^2=1/n * [ (x1^2+x2^2+x3^2+……)- n*x^2] α #include #include #include #include #include #include

2016-07-21 19:31:14 149

原创 HDU 5057 Argestes and Sequence(树状数组)

题目描述: 给你N个数,有M个查询,每次查询输入一个字符“Q”、“S”,为“Q”时输入四个数,“L”、“R”、“D”、“P”,代表查询这N个数从“L"到”R“之间第D位(从个位数起)为”P“的个数。为”S“时,输入两个数,”X“、”Y“,表示将这N个数中的第”X“个数,改为”Y“。 做题想法: 刚开始的时候开了一个三维 的树状数组,结果MLE了,后来就想到每个数的各个为互不影响,就可以从第一

2016-07-18 15:54:53 462

原创 HDU 4985 Little Pony and Permutation

水题~ 注意:不是按照字典序进行排列输出,只要保证从“1”开始遍历就可以了#include #include #include #include using namespace std; int cnt[100100]; int a[100100]; int b[100100]; int c[100100]; int main() { int n; while(~scanf("%

2016-07-10 09:56:12 193

转载 hdu 4983 Goffi and GCD

参考博客:http://blog.csdn.net/yanghuaqings/article/details/47167875 首先,gcd(n-a,n)=gcd(a,n);     假设  gcd(n-a,n)=x    即存在k1,k2,k1!=k2&&gcd(k1,k2)=1使得     n-a=k1*x,n=k2*x;     a=n-k1*x=k2*x-k1*x=(k2-

2016-07-09 11:34:23 223

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除