自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(192)
  • 问答 (1)
  • 收藏
  • 关注

原创 矩阵优化问题总结

1.$\min\limits_{S} \| S-T \|_{F}^{2}$

2018-05-25 22:25:36 2927 1

原创 求桥,边双连通缩点

一个无向图,问最少添加多少条边使任意两点有两条不同路径。即构造一个边双连通图,边双连通缩点后是一棵树,度数为1的点为a,结论是需要添加(a+1)/2条边。#include#include#include#include#include#include#include#include#include#include#define ll long long#define

2015-11-12 10:01:58 465

转载 Sutherlang-Hodgman 多边形裁剪算法

http://blog.csdn.net/nanhaizhixin/article/details/6531896#include#include#include#includetypedef struct { float x,y;}wcPt2D;typedef enum{ Left,Right,Bottom,Top}Boundary;int Inside(wcP

2015-11-11 15:28:29 1746

转载 Cohen-Sutherland线段裁剪算法

出处:http://blog.csdn.net/liaojinyu282/article/details/6010253通过一个矩形的裁剪区域将整个屏幕分成9个部分,并为每一个部分赋予相应的区域码,然后根据端点的位置确定这个端点的区域码。先判断能否完全接受或者完全排除一条线段,若以上2个判断无法直接得出,则逐步裁剪,选取一个位于裁剪区外的端点,把端点的区域码和裁剪边界的

2015-11-11 15:17:48 1872

原创 模板 poj2947 Widget Factory 高斯消元

转载自kuangbin的模板:#include#include#include#include#includeusing namespace std;const int MAXN=50;int a[MAXN][MAXN];//增广矩阵int x[MAXN];//解集bool free_x[MAXN];//标记是否是不确定的变元/*void Debug(voi

2015-11-10 20:09:15 391

转载 计算机图形学:机器人的画法与填充

原创地址 http://cuiqingcai.com/1597.html   http://cuiqingcai.com/1640.htmlOpenGL绘图实例一之机器人的绘制 C/C++ 崔庆才  7个月前 (04-10)  1427℃  2评论综述计算机图形学教材中有多种绘图方法,如直线的DDA算法、正负法、Bresenham算法和画圆弧的正

2015-11-09 15:24:26 4031

转载 多边形区域填充算法--扫描线填充算法(有序边表法)

二、扫描线算法(Scan-Line Filling)        扫描线算法适合对矢量图形进行区域填充,只需要直到多边形区域的几何位置,不需要指定种子点,适合计算机自动进行图形处理的场合使用,比如电脑游戏和三维CAD软件的渲染等等。        对矢量多边形区域填充,算法核心还是求交。《计算几何与图形学有关的几种常用算法》一文给出了判断点与多边形关系的算法――扫描交点的奇偶

2015-11-09 13:50:24 35551 6

原创 poj1177 Picture 扫描线求矩形周长并

DescriptionA number of rectangular posters, photographs and other pictures of the same shape are pasted on a wall. Their sides are all vertical or horizontal. Each rectangle can be partially or totall

2015-11-05 22:09:01 541

原创 poj1765 November Rain 扫描线

DescriptionContemporary buildings can have very complicated roofs. If we take a vertical section of such a roof it results in a number of sloping segments. When it is raining the drops are falling d

2015-11-05 22:06:41 617

原创 codeforces255E Furlo and Rublo and Game SG函数

对SG函数的理解:自认为sg函数应该算是博弈论中比较经典的东西了。。他几乎可以解决博弈论中的所有问题。你可以将sg函数看作是一个深搜的的过程。而每一堆的石子就相当于图中间的节点。所以说整个sg函数的过程就是在对一个有向无环图进行dfs的过程。sg函数的具体内容可以用一个公式来表示(虽然我最不喜欢公式,不过我还是得写。不然这没法说清楚):sg(x) =mex{sg(y) : y ∈

2015-11-03 18:01:59 593

原创 hdu5525 Product 费马小定理

Product  Accepts: 21  Submissions: 171 Time Limit: 6000/3000 MS (Java/Others)  Memory Limit: 131072/131072 K (Java/Others)问题描述给n个数{A}_{1},{A}_{2}....{A}_{n}A​1​​,A​2​​....A

2015-11-01 13:33:07 800 1

原创 hdu 4746 Mophues 莫比乌斯 分块优化

DescriptionAs we know, any positive integer C ( C >= 2 ) can be written as the multiply of some prime numbers:     C = p1×p2× p3× ... × pk which p1, p2 ... pk are all prime numbers.For example, if

2015-10-24 12:16:33 515 1

原创 HYSBZ 2301 Problem b 莫比乌斯 分块优化

Description对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公约数。Input第一行一个整数n,接下来n行每行五个整数,分别表示a、b、c、d、k Output共n行,每行一个整数表示满足要求的数对(x,y)的

2015-10-24 12:02:58 606 1

转载 大数模板

#include    #include    using namespace std;       #define DIGIT   4      //四位隔开,即万进制   #define DEPTH   10000        //万进制   #define MAX     251    //题目最大位数/4,要不大直接设为

2015-10-23 17:48:19 344

原创 spoj7001. Visible Lattice Poin

Consider a N*N*N lattice. One corner is at (0,0,0) and the opposite one is at (N,N,N). How many lattice points are visible from corner at (0,0,0) ? A point X is visible from point Y iff no other lat

2015-10-22 22:08:55 359

原创 hdu5212 Code 莫比乌斯

Problem DescriptionWLD likes playing with codes.One day he is writing a function.Howerver,his computer breaks down because the function is too powerful.He is very sad.Can you help him?The func

2015-10-22 21:53:05 464

转载 莫比乌斯反演 两种形式

莫比乌斯反演在数论中占有重要的地位,许多情况下能大大简化运算。那么我们先来认识莫比乌斯反演公式。 定理:和是定义在非负整数集合上的两个函数,并且满足条件,那么我们得到结论       在上面的公式中有一个函数,它的定义如下:     (1)若,那么    (2)若,均为互异素数,那么    (3)其它情况下 

2015-10-22 21:26:39 1184

转载 计算机图形学:中点画圆算法

在平面解析几何中,圆的方程可以描述为(x – x0)2 + (y – y0)2 = R2,其中(x0, y0)是圆心坐标,R是圆的半径,特别的,当(x0, y0)就是坐标中心点时,圆方程可以简化为x2 + y2 = R2。在计算机图形学中,圆和直线一样,也存在在点阵输出设备上显示或输出的问题,因此也需要一套光栅扫描转换算法。为了简化,我们先考虑圆心在原点的圆的生成,对于中心不是原点的圆,可以通

2015-10-21 15:18:19 36772 2

原创 JAVA IO类

import java.io.*;import java.math.BigDecimal;import java.math.BigInteger;import java.util.ArrayList;import java.util.Arrays;import java.util.Comparator;import java.util.HashSet;import java.util

2015-10-14 21:52:30 339

原创 hdu4777 Rabbit Kingdom 离线树状数组 求询问区间内的区间数

题意:询问区间内有多少个数与区间中其他的数都互质分析:易得,一个区间内的数的个数减去,与其他数不互质的数即可——即离当前数i左边最近的不互质的数的位置(设为L[i])和右边最近的不互质的数的位置(设为R[i])有一个在区间[L,R]内。那么问题就变成统计:1.区间[L,R]中有多少个数的L[i]或R[i]在区间[L,R]内。2.多少个数的L[i]且R[i]在区间[L,R]内。对于每个询问,答案

2015-10-14 11:43:44 340

原创 hdu3874 离线树状数组

询问区间内不同的数的和。将询问按照r排序,用last记录每个值上次出现的位置,若重复出现,减去原来的加上现在的。#include#include#include#include#include#include#include#include#include#include#define fi first#define se second#define pii pai

2015-10-14 11:35:34 332

原创 hdu5226 Tom and matrix 公式,Lucas

题意:给定x1,y1,x2,y2,求和C(i,j),(x1分析:因为\sum_{i=a}^{b}C_{i}^{k}=C_{b+1}^{k+1}-C_{a}^{k+1}∑​i=a​b​​C​i​k​​=C​b+1​k+1​​−C​a​k+1​​ 所以求同一列的数的和可以变成求两个组合数的差。由于p可能很小,当除数为p的倍数时就为0了,直接乘逆元会出问题,利用Lucas。#include#i

2015-10-09 14:27:03 613

原创 UESTC 1712 Easy Problem With Numbers 除法对和数取模,分解,线段树

附上神牛原版思路:如果这个题只有乘法,那么你肯定会做吧?线段树更新区间查找区间。那么有除法呢?当一个数x和m互质的时候,除以x可以改为乘以x的逆元。(至于互质的数求逆元用扩展欧几里德,这个网上可以随便找到)但是这题并不能保证除的数与m互质吧?什么时候x与m不互质呢?就是x与m含有公因子吧?那么我们一开始就把m分解,分解出来m有p1,p2,p3,p4...pn

2015-10-08 19:51:29 607

原创 hdu5117 Fluorescent DP,期望

题意:n盏灯,m个开关,每个开关控制一些灯,用1表示控制,0表示不控制,异或为1时这盏灯亮,每个开关可开可不开,概率相同。现在问E(x^3)*(2^m),E为期望,x为亮灯数。分析:如果求的是E[x]*(2^m),则可以考虑每一盏灯的状态,O(m)求出使这盏灯亮的方案数。现在求每种方案下,(x1+x2+x3+...+xn)^3,用0表示不亮,1表示亮,展开即为C*xi*xj*xk,当i,j

2015-10-06 16:08:40 370

原创 hdu5196 DZY Loves Inversions 思路,计数

题意:一个数列,给出一些区间,计算这个区间有多少子区间逆序对数为k。分析:直接计算k不好算,把问题转化为   最后所求即为sum(min(r1i,r)-l+1) (i>=l&&i#include#include#include#include#include#include#include#include#include#include#include#inclu

2015-10-06 14:45:47 299

原创 hdu5208 Where is Bob 数位dp

维护四个数的上下边界条件,转移使最小值最大即可。数位dp有时只对dp赋一次-1,这时边界条件满足一定条件与后面的数是什么无关,可以直接返回,在此题中条件太苛刻,用处不大,会tle。也可以每次都赋一次-1,这时算出一个状态的值就能赋给dp,再次用到时直接返回。#include#include#include#include#include#include#include#i

2015-10-03 14:11:42 340

原创 hdu5052 Yaoge’s maximum profit 树链剖分

一棵树上,从u走到v,在某点买入,咋之后的某点卖出,求最大利润。维护正着走和反着走的最大利润。#include#include#include#include#include#include#include#include#include#include#define fi first#define se second#define pii pair#define

2015-10-03 00:37:13 361

原创 Do use segment tree 树链剖分,按顺序剖分

一棵树,支持两种操作,1是将a到b路径上点的权值改为c,求a到b路径上的最大连续字段和。维护最大字段和,最大前缀和,最大后缀和。树练剖分,需要按顺序求出链的所有段,向上合并。#include#include#include#include#include#include#include#include#include#include#include#include

2015-10-02 22:35:02 348

原创 待做

hdu5127 cdq分治,动态凸包//hdu5185hdu5192hdu5072hdu5076hdu5077hdu5079hdu5080hdu5081hdu5042hdu5043hdu5046hdu5048hdu5052hdu5022hdu5027hdu5031hdu5172hdu5032hdu5036hdu5168

2015-09-25 16:05:18 490

原创 hdu 5072 Coprime 约数,容斥原理

给出一些数,挑选其中3个,求两两互质和两两不互质的方案数。需要对唯一分解原理有一定的理解,两个数不互质无非就是质因数分解后有相同的部分,比如a质因数分解为p1*p2*p3*p4...(指数省略),与a不互质的数有p1的倍数,p2的倍数...,根据容斥原理还需减去p1*p2的倍数,总结就是奇数个加,偶数个减。本题求得两两互质和两两不互质的反面是,两对互质一对不互质和两队不互质一对互质,求出与

2015-09-25 12:27:05 452

原创 hdu5185 Equation DP

除了所有的数都为1,其他情况前面必有0,而最大的数不会超过sqrt(n),dp[i][j]表示0-i和为j的方案数。转移非常巧妙,dp[i][j]=dp[i][j-i]+dp[i-1][j-i],意义是i的个数>=2的情况数+i的个数为1的方案数。#include#include#include#include#include#include#include#include

2015-09-23 22:40:14 319

原创 hdu 5136 Yue Fei's Battle 树的dp计数

一棵二叉树的最长链长度为k,节点数不限,求所有形态数。f[i]表示深度为i的二叉树形态数,dp[i]表示深度#include#include#include#include#include#include#include#include#include#include#define fi first#define se second#define pii pair

2015-09-23 12:08:20 553

原创 hdu 5187 zhx's contest 快速幂,快速乘

答案就是(2^n-2)%p,由于p很大,直接快速幂会爆掉,用个快速乘。#include#include#include#include#include#include#include#include#include#include#include#include#include#define fi first#define se second#define ll

2015-09-21 22:19:32 289

原创 hdu 5445 Food Problem 分组背包,二进制拆分

题意:要得到至少p的能量,有n种甜品,每种甜品有能量值t,体积u,数量v,运送这些甜品的卡车有m种,每种有容积x,花费y,数量z。求运送的甜品至少能量达到p的最小花费。p分析:首先可以算出的到p能量所需的最小体积,在算出得到这个最小体积的最小花费。最小体积可能很大,由于最小花费#include#include#include#include#include#include#in

2015-09-18 15:44:27 380

原创 uval1297 Palindrome 后缀数组求最长回文字串,lcp,rmq

#include#include#include#include#include#include#include#include#include#include#include#include#include#define fi first#define se second#define ll long long#define pii pair#define in

2015-09-18 13:55:23 286

原创 hdu5030 Rabbit's String 后缀数组

把一个字符串最多分为k段,所有每一段的最大子串的最大值最小。二分答案串是排名多少的字串,根据sum可以定位该串的位置,在t之后的后缀中有些串是需要切割的,这些串加上后一个字符会大于答案串,把这些串的位置求出后贪心最少切多少刀。#include#include#include#include#include#include#include#include#include#i

2015-09-18 11:22:30 271

转载 SPOJ 694 Distinct Substrings 后缀数组 模板

题目大意:给一个字符串,问这个字符串中不同的子串一共有多少个。思路:构建后缀数组。如样例ABABA的5个后缀排序后分别为:AABAABABABABABA我们可以看作所有后缀的所有前缀构成所有的子串。从上面可以看出,在A中,A第一次出现。在ABA中,AB和ABA第一次出现。在ABABA中,ABAB和ABABA第一次出现。那么容易看出,对于一个suffix(sa[i]),其中有height[i]个子串

2015-09-15 17:52:27 285

原创 数论中的一些基础算法

1.筛素数const int maxn=100005;int prime[maxn];bool vis[maxn*10];int cnt;void getPrime(){ int N=1000000; int m=sqrt(N+0.5); memset(vis,0,sizeof(vis)); for(int i=2;i<=m;i++) {

2015-09-15 11:10:20 1098 1

原创 hdu5029 Relief grain 点权树链剖分,线段树

点权树链剖分,求出所有更改区间,用一个类似差分前缀和的东西扫一遍。点权与边权的剖分在查询上有一点小区别。#pragma comment(linker,"/STACK:1024000000,1024000000")#include#include#include#include#include#include#include#include#include#include

2015-09-12 15:35:08 385

原创 hdu5171 GTY's birthday gift 矩阵快速幂求斐波那契前n项和,矩阵快速幂模板

#include#include#include#include#include#include#include#include#include#include#define fi first#define se second#define pii pair#define ll long long#define inf 1<<30#define eps 1e-8us

2015-09-09 22:34:44 297

空空如也

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

TA关注的人

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