摘要:
UVA11137 题意: 把n拆成立方和的形式 solution: 把立方看成权值 运用递推求解01背包 1 #include<iostream> 2 #include<cstdio> 3 #include<algorithm> 4 #include<vector> 5 #include<queue 阅读全文
摘要:
题意 用矩阵乘法求fibonacci数列的第n项。 Solution 矩乘入门题啊,题目把题解已经说的很清楚里= =。 矩乘其实很简单,通过自己YY或者是搜索对于一个递推公式求出它所对应的矩阵,然后套个快速幂就可以迅速求解第n项。 1 #include<iostream> 2 #include<cs 阅读全文
摘要:
UVA11077 题意: 给定一个1~n的排序,可以通过一系列的交换变成1,2,…,n, 给定n和k,统计有多少个排列至少需要交换k次才能变成有序的序列。 题解: 每个长度为n循环需要交换n-1次才能将交换到对应的位置,例如1->2,2->4,4->1,(1,2,4)位置上对应值为(2,4,1) 相 阅读全文
摘要:
POJ3128 参考博客 题目大意:给出一个A~Z的置换,问是否可以被表示为一个置换的平方(即G=G'*G')。 通过观察可以发现,一个置换乘上它本身,其中长度为偶数的循环节必然会分裂为两个长度相等的循环节,长度为奇数的循环节还是一个循环节,长度不变。如:2341*2341=3412 (2341是一 阅读全文
摘要:
UVA10294 POLYA定理的基本应用 题意:有n个珠子围成的环,有t种颜色可以染这些珠子;如果这个环可以旋转有几种办法;如果这个环可以旋转,且可以翻转,有几种办法; 参考博客 刘汝佳的分析: 等价类计数问题。一共有两种置换,选择以及翻转。项链只有第一种置换,手镯则有两种置换。设所有珠子按逆时针 阅读全文
摘要:
洛谷2254 给你k次移动 每次移动给你一个时间段 a,b和方向dir 地图上有障碍物 为了不撞上障碍物你可以施法让箱子停下来 问箱子可以走的最长路 ((以下是洛谷的题解)) /*首先考虑对于时间t来dp: f[t][i][j]表示在第t时刻在第i行第j列所能获得的最长距离。 转移方程:f[t][i 阅读全文
摘要:
双向链表的删除操作 1 #include<bits/stdc++.h> 2 #define mp make_pair 3 #define pb push_back 4 #define pw(x) (1ll << (x)) 5 #define sz(x) ((int)(x).size()) 6 #de 阅读全文
摘要:
题目大意:给你一串数字,一串运算符,求递推用完运算符时答案的最大值 >线性dp dp[i][j] i表示所用数字的个数 j表示所用字符的个数 分层图思想 所有字符必须用完 所以取最后一层的dp[m][n] 1 #include<bits/stdc++.h> 2 #define mp make_pai 阅读全文
摘要:
博客1 博客2 递推解法求第n个出列的人 阅读全文
摘要:
环形涂色裸题 1 #include<iostream> 2 #include<cstdio> 3 #include<algorithm> 4 #include<vector> 5 #include<cstring> 6 #include<map> 7 #include<set> 8 #include 阅读全文