摘要:同:http://www.cnblogs.com/xiao-xin/articles/4196009.html顺手也给做了,更简单了一些== 1 #include 2 #include 3 #include 4 using namespace std; 5 #define LL long long ...
阅读全文
摘要:2014年最后一场codeforces,不能更逗比== 手速好慢,搭配上这个网速,再加上自己煞笔思考速度,尼玛简直了,造就了我史上降分最多,差点跌破紫名TAT。 因为手速问题,A到10+min才pass。。。 然后苦逼的B题,要求满足可交换矩阵交换后字典序最小,想到是从小到大将数尽可能的往前移,然...
阅读全文
摘要:算出每个边被选中概率,然后每条边权×概率,和即为答案。一共有C(n,3)种选法,每条边下边有down[x]个,上面有n-down[x]个,选取该边方法有down[x]*(n-down[x])*(n-2) thinking==然后初以总选法就是概率。 1 #include 2 #include 3 #...
阅读全文
摘要:1 import java.io.*; 2 import java.util.*; 3 import java.math.BigInteger; 4 5 public class Main { 6 public static void main(String[] args) 7 ...
阅读全文
摘要:1 import java.io.*; 2 import java.util.*; 3 import java.math.BigDecimal; 4 public class Main { 5 public static void main(String[] args) 6 { 7...
阅读全文
摘要:求大整数区间内斐波那契数: 1 import java.io.*; 2 import java.util.*; 3 import java.math.BigInteger; 4 public class Main { 5 public static void main(String[] ar...
阅读全文
摘要:1 import java.util.*; 2 import java.io.*; 3 import java.math.BigInteger; 4 public class Main { 5 public static void main(String[] args) 6 { 7...
阅读全文
摘要:实现小数a的b次方: 1 import java.math.BigDecimal; 2 import java.util.*; 3 import java.io.*; 4 5 public class Main { 6 public static void main(String[] ar...
阅读全文
摘要:卡特兰数:a[0]=0; a[1]=1;a[i]=a[i-1]*(4*i-2)/(i+2);抄来的java大数,以后慢慢学。 1 import java.io.*; 2 import java.util.*; 3 import java.math.BigInteger; 4 5 public cl...
阅读全文
摘要:寒假的计划初步拟定这样:1.前一个星期除了给新生介绍一些算法,讲一些题目。自己主要学这些: 数论:高斯消元 图论:强联通tarjan,最小费用流,2-SAT,DLX 字符串:AC自动机 dp:概率dp及期望,插头dp和斜率优化(初步) 数据结构:树相关(划分树,伸展树spaly,动态树lc...
阅读全文
摘要:首先spfa(思考dijkstra不够==)找一条最短路,若不存在,则n个点都符合。从s进行dfs,找到能到达的最短路上的最远点,这个点就是割点。然后下次以这个为起点dfs,直到找到t。 1 #include 2 #include 3 #include 4 #include 5 #define IN...
阅读全文
摘要:下午和cp,杰哥在一起做bzoj,交了自己的bzoj处女交,水了两道数位dp,前段时间学的数位dp模板好呀TUT1026:http://www.lydsy.com/JudgeOnline/problem.php?id=1026l到r之间相邻数绝对值差大于等于2数的个数本来开三维记录当前位,前一位,有...
阅读全文
摘要:因为这道题目开始学的数位dp,在bestcode那道数位dp(http://www.cnblogs.com/xiao-xin/articles/4168112.html)解决之后,这道题目也终于解决啦!求一个区间内满足:1.每位都没有7 2.该数每位和不是7倍数 3.该数不是7倍数,这样的数的平方和...
阅读全文
摘要:学过数位dp,第一次用那个模板用自己的思路敲出来的dfs代码2333还尼玛用了结构体瞬间觉得高大上逼格升升升===吃颗药冷静一下,结构体返回的是:1.pos及其下面的符合已定sum的数目2.pos及其下面的符合已定sum的数的和然后开两个数组保存一下记忆化: 1 #include 2 #includ...
阅读全文
摘要:只需要把这条边上的最短路当成后一个点的权就好啦唯一的起始点1到1的距离就是g[1][1]这样相当于1被分离出来啦! 1 #include 2 #include 3 #include 4 using namespace std; 5 int n,m,vis[2005],dist[2005],g[200...
阅读全文
摘要:从大到小排序,每次选择用时最少的集合==这尼玛是一个错误的贪心6 27000 5000 3000 3000 3000 3000就跪了gg不过网上也没有正解,就这样水过去吧2333 1 #include 2 #include 3 #include 4 #include 5 using namespac...
阅读全文
摘要:要知道k倍数最多到2^20,然后暴力枚举On判断就好啦! 1 #include 2 #include 3 #include 4 using namespace std; 5 int a[55],b[55]; 6 char s[55]; 7 int main() 8 { 9 int k,len,i...
阅读全文
摘要:明明就是个简单的字典树,我不过就是想复习一下尼玛被自己坑死了T^T把字符串分解那儿写错了,检查了半天没找到错误,然后以为被卡数组内存,难过的学习字典树的指针写法。。发现还是不对,大半夜突然看到自己傻乎乎的错误顿时感觉好傻逼啊啊啊!!字典树数组写法: 1 #include 2 #include 3 i...
阅读全文
摘要:二分查找n*logn*logn比较容易理解 1 #include 2 #include 3 #include 4 #define maxx 100005 5 using namespace std; 6 int vis[100010],c[100010],k; 7 int sum(int x) 8 ...
阅读全文
摘要:n个灯,m个开关,某个开关能同时控制某些灯。问达到最终状态的方案数高斯异或消元,答案为2^xx为自由变量的个数或无解具体消元代码注释:think!! 1 #include 2 #include 3 #include 4 using namespace std; 5 int n,m,g[105][10...
阅读全文
摘要:和codeforces上次那个题目差不多吧,都是用线段树求和加速dp为了下次好找,把几个stl放标题哈哈哈 1 #include 2 #include 3 #include 4 using namespace std; 5 #define MOD 9901 6 int sumv[400005],a[...
阅读全文
摘要:比较巧妙的做法,动态维护最右起点,然后用p[i]表示到i时的LIS的最右起点,好吧有点拗口== 1 #include 2 #include 3 #include 4 #define LL long long 5 using namespace std; 6 int w[100005],a[10000...
阅读全文
摘要:题意就是选无相交点的两个矩形,使两矩形面积和最大==我用hdu2056的矩形相交面积做,还是比较好写的,2056的代码: 1 #include 2 #include 3 #include 4 using namespace std; 5 int main() 6 { 7 double x1,...
阅读全文
摘要:公式如上,dfs函数思考清楚==另外欧拉函数以前写的可以换了 1 #include 2 #include 3 #include 4 #define LL long long 5 LL phi(LL x) 6 { 7 LL ans=x,i; 8 for (i=2;i*i=m) return a...
阅读全文
摘要:用floyd处理最短路的同时更新路上最多节点。然后枚举重合线段,只要符合两条都是最短路即可更新ans。 1 #include 2 #include 3 #include 4 using namespace std; 5 int dis[315][315],num[315][315]; 6 int m...
阅读全文
摘要:关键是要能看出来是gcd==1个数===然后就是素数分解容斥定理了。。 1 #include 2 #include 3 #include 4 int k,n,num; 5 int vis[100005],prime[100005],a[10]; 6 void dfs(int now,int flag...
阅读全文
摘要:更新fatber[] down[] up[] 三个数组求得是down数组1.忽略合并同一区间 2.下标从0开始2333 1 #include 2 #include 3 int father[100005],down[100005],up[100005]; 4 int find(int x) 5 { ...
阅读全文
摘要:欧拉函数指小于n且与其互质的数个数:phin=n*(1-1/p1)*(1-1/p2)*...(1-1/pn)由此便可以利用类似筛素数筛出所有欧拉函数,具体看代码: 1 #include 2 #include 3 long long phi[3000005]; 4 int main() 5 { 6 ...
阅读全文
摘要:预处理没点向上最大伸展的1 num[i][j]然后对于每行,按num[i][j]从大到小排序,即以他们为底最大1矩阵 1 #include 2 #include 3 #include 4 using namespace std; 5 int a[1005][1005],num[1005][1005]...
阅读全文
摘要:将给定01矩阵进行任意行列交换使主对角线全为1==行列建图,如果完全匹配则必然可以,继而使用选择排序思想来只交换行(或者列) 1 #include 2 #include 3 struct dian{ 4 int x,y; 5 }a[1005]; 6 int n,g[105][105],yy[...
阅读全文