自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 sgu203:Hyperhuffman(哈夫曼编码)

题目大意:给出一个整数N(2 ≤ N ≤ 500,000),代表有N个字符。接下来有N个数(按升序排列),第i个代表字符i出现的频率。求出其经哈夫曼编码后的原文长度。分析:英文原题里都说了怎么做了,大概就是选两个频率最小的点,建一个新点为这两个点的父节点,从序列中删除两个旧点,将新点插入,直至只剩下一个点时,停止操作。①因为题目满足频率单调性,所以我们可

2015-01-29 20:20:11 730

原创 sgu200:Cracking RSA(模意义下高斯消元求自由变元个数)

题意:有b个数,每个数经质因数分解后质因子都是是质数表中前t个质数中的一个。给出序列b,正整数t,我们从b中选若干个数乘起来得到一个积,问有多少种取法使得积为完全平方数。分析:要使积为完全平方数,那么分解后每个质数出现次数为偶数次。我们可以以每一个质数作为一个方程,g[i][j]表示第i个质数在bj中出现的次数,解这个模2线性方程组即可。设自由元个数为k

2015-01-21 18:43:12 641

原创 AC100知识点清单

终于版切了...153.博弈dp155.笛卡尔树156.哈密尔顿回路转欧拉回路157.数学题159.数学题160.模意义下dp161.字符串处理165.构造法166.字符串处理167.区间dp173.高斯消元+矩阵乘法174.并查集判无向图环175.矩形分割176.有上下界最小流177.数学题179.找规律180.逆序对182

2015-01-21 13:05:18 442

原创 sgu199:Beautiful People(最长上升子序列)

题意:告诉你有n个人,以及每个人的力量和美丽的程度值(我记录为x,y),并依次记录他们的id为1~n。用两个人(i和j)比较,p[i].x > p[j].x && p[i].y > p[j].y 和 p[i].x = p[j].y 和 p[i].x >= p[j].x && p[i].y 数据范围:2分析:按s为第一关键字,b为第二关键字,s递增,b递减,排

2015-01-20 13:30:31 433

原创 sgu198:Get Out!(计算几何+spfa判负环)

题意:平面上有一堆圆,再给出一个圆P,问P能否在其他圆的缝隙中穿过到达无穷远处?分析:把每一个圆加上圆P的半径,圆P就成了一个点。我们把每两个相交的圆之间连两条有向边,边权为P到线段的有向角度(互为相反数)。然后spfa判断有没有负环即可。   #include #include #include #include using nam

2015-01-20 13:26:18 550

原创 sgu197:Nice Patterns Strike Back(状压dp+矩阵乘法优化)

题意:有一个N*M的棋盘,棋盘每个格子要么是黑要么是白,每个2*2的方块颜色不能都相同,求总的颜色种数mod P。1分析:1对于矩阵G,G[i][j]==1表示j状态可以转移到i状态,我们dfs出矩阵G,然后G^(n-1),接着就是水了。#include #define get(s, i) ((s>>(i-1))&1)using name

2015-01-18 14:24:18 493

原创 sgu196:Matrix Multiplication(矩阵乘法-->图)

题意:给定N个点,M条边的图G,构造N*M矩阵A,其中a[i][j]==1表示点i是第j条边的一个顶点,否则为0。设AT为A的转置矩阵,即将A的行和列对换。求AT*A的元素总和。分析:我们可以发现在A中每一列只有两个元素u和v为1,在AT中每一行也只有两个元素u和v为1。又AT*A时,当AT处理到第i行,A处理到第j列时,M[i][j]=∑AT[i][k]*A[k][j](

2015-01-18 12:14:00 459

原创 sgu195:New Year Bonus Grant(树形dp)

题意:题目中给定一棵树,要求它的最大匹配。或者按照原文大致翻译:给出一棵有N (N1.不包含根结点2.每个点和它的所有儿子中只能选择一个点输出最多能选多少个点并给一种方案。分析:主要是题意难看懂。f[i][0]设为不选,f[i][1]设为选,然后乱搞...极水极水。#include #include using namespace s

2015-01-18 11:21:01 442

原创 sgu194:Reactor Colling(无源无汇上下界最大流)

题意:求一个无源无汇的有上下界的最大流。分析:把每条边的边容量重设为上界-下界,记录每个点的最小进入in和最小输出流out,重设一个s、t,将s、t连向每一个点,边容量分别为每个点的in和out,从s到t跑最大流即可。如果s的每条边满流,则有解,否则无解。#include #include #include using namespace std;const i

2015-01-17 13:09:03 458

原创 sgu193:Chinese Girls' Amusement(高精度)

题意:给定一个数k(3分析:当k为奇数,答案就是(n-1)/2;当k为偶数,如果k/2为奇数,答案是k/2-2;否则为k/2-1。#include using namespace std;const int MAXL = 2009;struct bi{ short num[MAXL]; int l; void read() { char c = g

2015-01-16 22:55:04 682

原创 sgu192:RGB(计算几何)

#include #include #include #include using namespace std;const int MAXN = 309;const double eps = 1e-10, INF = 1e9;int n, tot;double R, G, B;double node[MAXN*MAXN];struct point{ double x, y;

2015-01-16 13:13:47 456

原创 sgu191:Exhibition(模拟)

题目大意:貌似就是一个初始为A或B的串,经过变换一(A-->(B))或变换二(A-->(A)BA),变成一个所求的序列(所求的序列字母均带有括号)。分析:裸的模拟,可以用栈乱搞。#include #include #include #include using namespace std;string start, end;stack che

2015-01-14 12:44:21 399

原创 sgu190:Dominoes(二分图匹配)

裸的二分图匹配,但我能写成这么丑我也是醉了...#include #include #include #include #include #include #include using namespace std;const int MAXN = 49;int n, p;bool cap[MAXN*MAXN];int map[MAXN][MAXN];pair adv_m

2015-01-12 00:22:04 529

原创 sgu189:Perl-like Substr(字符串处理)

题意: 背景:         一个小型俄罗斯公司H&H决定冲击国际社会以完善他们自己的脚本语言。你被雇佣来参与完成这个工程,你的任务非常简单——码出“子串”的功能部分。         “子串”功能要用到一下几种操作:         $value= substr($string, begin, count);         $value= substr($string

2015-01-11 22:14:04 1119

原创 sgu188:Factory guard(模拟)

分析:这道题直接枚举判断就好了,只是有些细节,还是自己推一下比较好。#include #include #include using namespace std;const int MAXN = 29, MOD = 1000;int n, t;int l[MAXN], v[MAXN];int b[MAXN];bool check(int x, int y, int t

2015-01-11 22:12:26 582

原创 sgu187:Twist and whirl -- want to cheat(splay+区间翻转)

题意:裸的区间翻转。分析:我们可以ws的用一下stl的reverse,如果手写的话splay较好。类似线段树lazy思想,我们找到l-1项和r+1项,将其分别splay到root和右孩子,之间夹着的区间我们给其一个翻转。问题①:找到当前序列中的第k项?我们需要对每一个结点记录以该结点为根的子树的结点数size,从root出发向做左或向右找。我们需要在rotate的时候更

2015-01-09 22:27:14 723

原创 sgu185:Two shortest(最短路+最大流+邻接矩阵)

题意:给定n个点m条无向边和边权(无重边)找2条从1-n点路径不相交的最短路(2条路必须都是最短)分析:费用流果然MLE了...首先我们可以一遍spfa跑出所有在最短路上的边,然后在其上做最大流就好了。其实可以用邻接矩阵...#include #include #include #include using namespace std;const int MAXN =

2015-01-09 13:08:17 502

原创 sgu186:Chain(贪心)

题意:这破题的意思坑...大概就是有一些链,每个链Li个串,每分钟可以从其中一个链中拆出一个串,并以这个链连接两个不同的链。求出最少时间使得所有链合并为一个链。分析:贪心,每次断最小的,连最大的就行。#include #include using namespace std;const int MAXN = 109;int n, chain[MAXN];int main

2015-01-09 12:55:22 551 1

空空如也

空空如也

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

TA关注的人

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