- 博客(17)
- 收藏
- 关注
原创 矩阵与线性方程组专题
UVA 10870 RecurrencesUVA 1386LA 3704 Cellular AutomatonUVA 10828 Back to Kernighan-RitchieUVA 11542 SquareUVA 10655 Contemplation AlgebraUVA 11149 Power of MatrixUVA 10808 Rational ResistorsUVA
2016-02-29 13:24:09 534
原创 UVA 716(Commedia dell' arte-三维八数码)
题意:给一个3维八数码(长宽高为n≤100n \le100),问能否恢复原状?考虑2维八数码给一个网上的结论 八数码问题的有解无解的结论: 一个状态表示成一维的形式,求除0之外所有数字的逆序数之和,称为这个状态的逆序。若两个状态的逆序奇偶性相同,则可相互到达,否则不可相互到达。必要性: 现在考虑证明,如果将一个数左右移动,逆序数不变 上下移动 逆序数可能改变−(n−1),−(n−3)
2016-02-27 19:06:26 780
原创 bnuoj 51277(魔方复原-手推置换群)
题意:给一个魔方,定义一堆操作,现给出操作序列,问这个操作序列重复多少次之后魔方复原?用了大半天时间设计程序计算6个置换……结果没做出其实手推的速度比什么都快#include<bits/stdc++.h>using namespace std;#define For(i,n) for(int i=1;i<=n;i++)#define Fork(i,k,n) for(int i=k;i<=n;i
2016-02-25 21:54:04 1497
原创 ICPCCamp 2016 Day 8 - Makoto Soejima's Contest #4(String Modification-模拟)
题意:给一个字符串s,每次可以在一个字符的右边加一个与这个字符不同的字符,问是否能变成字符串t? 1≤|s|≤|t|≤50001 \le |s| \le |t| \le 5000模拟注意坑点#include <iostream>#include <cmath>#include <algorithm>#include <cstdio>#include <cstring>#include <
2016-02-24 20:51:36 954
原创 ICPCCamp 2016 Day 8 - Makoto Soejima's Contest #4(Ropes-树的度数与方案数)
题意:已知一棵树,给定每个节点的度数(最多为3),求方案数。ans=(n−2)!∏i[(degree[i]−1)!]ans=\frac {(n-2)!} {\prod_i [ (degree[i]-1)! ] }#include <iostream>#include <cmath>#include <algorithm>#include <cstdio>#include <cstring>
2016-02-24 20:45:47 1196
原创 ICPCCamp 2016 Day 7 - Moscow SU Trinity Contest(Hans Zimmer-期望)
题意:有一块W*H的草地,现在执行n次操作,每次50%概率选择水平和竖直两个方向,然后在边长上等概率取一点。沿着这条线水平/竖直切割草地,问操作后最小的草地的期望面积。显然W和H可以先去掉,我们只要解决这个问题 长度为1的线切n刀后最短长度的期望,这个可以算出来=1(n+1)2=\frac 1 {(n+1)^2}#include <iostream>#include <cmath>#inc
2016-02-24 20:23:28 797
原创 ICPCCamp 2016 Day 6 - Spb SU and Spb AU Contest(Greedy Game-贪心)
有n≤105n \le 10^5 个物品,每个物品有价值ai,bia_i,b_i,现在2人轮流取值,先手的策略是从aia_i最大的物品中任取一个,问后手可能取得的最大bib_i和把元素按aia_i为第一关键字,bib_i为第二关键字排序,现在每次先手都取最前的我们考虑截至到前n-1个时的最优解已知,考虑第n个 显然如果n是第偶数个那么必取, n是第奇数个时,考虑如果取这个数,只要拿之前取的任意一
2016-02-24 20:10:40 1093
原创 ICPCCamp 2016 Day 6 - Spb SU and Spb AU Contest(Set intersection-随机)
题意:给n+1个01串,每个串长度为2n2n,从中找出2个01串,它们前2n位里同一位上出现相同0,1的次数≥n/2\ge n/2 保证有解,输出任意解。随机试即可,求证明#include <iostream>#include <cmath>#include <algorithm>#include <cstdio>#include <cstring>#include <string>#
2016-02-24 13:26:59 886
原创 ICPCCamp 2016 Day 6 - Spb SU and Spb AU Contest(Colored path-dp)
题意:给1个n*n矩阵,每个点上有2个整数权值w和c,现在你希望从(1,1)开始,每次只能向右或向下走(从(i,j)到(i+1,j) or (i,j+1) ),使得路径上的权值和不超过W,出现过的不同颜色数量尽可能少,求最少颜色数,及任意一条对应路径。1≤n≤400,1≤W≤109,1≤c≤k,1≤k≤101\le n \le 400,1 \le W \le 10^9, 1 \le c \le k
2016-02-24 13:18:29 794
原创 ICPCCamp 2016 Day 2 - ZhejiangU Contest(Easy When You Know How-并查集+rmq)
题意:给一个长度为n的字符串和m个事实,每个事实是xi,yi,lix_i,y_i,l_i表示 sxi,sxi+1,…,sxi+li−1=syi,syi+1,…,syi+li−1s_{x_i},s_{x_i+1},\ldots,s_{x_i+l_i-1}=s_{y_i},s_{y_i+1},\ldots,s_{y_i+l_i-1} 已知这个字符串只有小写字母,问可能的字符串个数。 1≤n,m≤2
2016-02-24 13:01:51 896
原创 ICPCCamp 2016 Day 3 - Grand Prix of China(Random Arithmetic-dp)
ICPCCamp 2016 Day 3 - Grand Prix of China(Random Arithmetic-dp) 题解
2016-02-24 12:42:59 918
原创 ICPCCamp 2016 Day 4 - SJTU Dreadnought Contest(The Road Network-区间dp)
有n个城市,每个城市有一个wiw_i,如果两座城市满足wi+wj≥dw_i+w_j \ge d,则在两座城市连边。 现在把城市分成2个点集,是2点集之间的边的数量尽量多,求最大数量,方案数。 1≤n≤2000,0≤d≤1091 \le n \le 2000 ,0 \le d \le 10^9区间dp,将w排序 考虑2个极端情况 1.当w1与wn不连边 此时w1不与任何点连边 2.w1与w
2016-02-22 09:32:36 844 1
原创 ICPC Camp 2016 几道神奇的构造打表题
SJTU Dreadnought ContestThe Magic SquareThe Kirakira CycleXOR TreeMoscow SU Trinity ContestGreen DaySJTU Dreadnought ContestThe Magic Square题意:已知n≤100n\le 100, 你需要用n个边长为整数的正方形凑出一个大正方形,无解输出“Impossi
2016-02-22 00:28:30 1540 2
原创 ICPCCamp 2016 Day1 ftiasch's Contest #4(All Pair Shortest Path-位运算)
题意:给一张2000个点的有向图(边的权制均为1),你需要求∑ni=1∑nj=1dis(i,j)\sum_{i=1}^n \sum_{j=1}^n dis(i,j) dis(i,j)是i到j的最短路距离。不要被复杂度骗了, 位运算暴力过, O(n3/64)O(n^3/64)#include <iostream>#include <cmath>#include <algorithm>#inc
2016-02-21 23:43:59 1132
原创 bnuoj 51275(道路修建-并查集按秩合并)
题意:维护一个并查集,但需要询问2个点是在第几次操作后连通的。 直接可持久化并查集应该行, 但更简单的方法是,把并查集按秩合并, 即t时刻,在u,v所处连通块间连一条权值为t的边, 这样每个并查集的树高是log级的。#include<bits/stdc++.h>using namespace std;#define For(i,n) for(int i=1;i<=n;i++)#defi
2016-02-16 20:58:12 618
原创 置换专题
UVA 10294 Arif in Dhaka First Love Part 2UVA 12103 Leonardos NotebookUVA 11077 Find the PermutationsUVA 1156 Pixel ShuffleUVA 10601 CubesUVA 11330 Andys ShoesUVA 11774 Dooms DayUVA 11540 Sult
2016-02-12 22:51:06 814
原创 ICPCCamp 2016 Day1 ftiasch's Contest #4(Around the world-树,构造)
已知一个有n个点(4<=n<=500)连通无向图,边权均为1。点的编号为1,2,...,n1,2,...,n,现在你需要给出一条环(v1,v2,…,vn),满足:v1,v2,...,vnv_1,v_2,...,v_n 是不同的点对2≤i≤n2 \le i \le n ,有dis(vi,vi+1)≤kdis( v_i , v_{i+1} ) \le k #include<cstdio>#inc
2016-02-03 01:26:39 786
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人