09 2013 档案

摘要:Q:gedit不支持windows下的中文显示A:http://wiki.ubuntu.org.cn/Gedit%E4%B8%AD%E6%96%87%E4%B9%B1%E7%A0%81Q:bash和dash的区别A:http://www.linuxidc.com/Linux/2012-03/57493.htm 阅读全文
posted @ 2013-09-09 10:33 沐阳 阅读(130) 评论(0) 推荐(0) 编辑
摘要:A.Xenia and Divisors题意:给定N个数,每个数的取值范围为1-7,N是3的倍数,判定是否能够恰好将N个数分成若干三元组,使得一个组中的元素a,b,c满足 a #include #include #include using namespace std;const int N = 100005;int n;int cnt[10];int main() { int x; bool flag = false; scanf("%d", &n); for (int i = 0; i F 同理,因此直接模拟即可。#include #include #inclu 阅读全文
posted @ 2013-09-08 23:07 沐阳 阅读(530) 评论(2) 推荐(0) 编辑
摘要:题意:给定区间[L, R]求区间内与7无关数的平方和。一个数当满足三个规则之一则认为与7有关:1、整数中某一位是7;2、整数的每一位加起来的和是7的整数倍;3、这个整数是7的整数倍;分析:初看起来确实有点麻烦,数位DP还是很容易看出来的,需要维护好三个值dp[ i ][ j ][ k ].num表示数位和为对7的余数为 j ,前面确定的数对7的余数为 k 的情况下, i 位任意与7无关的数一共有多少个;同理dp[ i ][ j ][ k ].sum 表示这些数的和为多少;dp[ i ][ j ][ k ].sqr 表示这些数的平方和为多少,这三者之间是可以递推的,详见代码。个人觉得将区间左右边 阅读全文
posted @ 2013-09-07 22:53 沐阳 阅读(1752) 评论(0) 推荐(0) 编辑
摘要:题意:给定N个点,M条边,M >= N-1。已知M条边都有一个权值,已知前N-1边能构成一颗N个节点生成树,现问通过修改这些边的权值使得最小生成树为前N条边的最小改动总和为多少?分析:由于计算的最小改动且为最小生成树则显然前N-1条边肯定权值都减少,后面的边权值都增加。由于选择的边为前N-1得到最小生成树,因此首先将N-1条边构图,然后对后面的每一条边,那么这条边所构成的环中,有任意一条边的a与该边b,设原始权重为w[a],w[b],改变量为d[a],w[b],则有w[a] - d[a] = 0表现在图中就是每个点对之间连了一条权值为0的边,这样才能够保证求出来的值都是正值。简要分析其原 阅读全文
posted @ 2013-09-07 21:17 沐阳 阅读(1116) 评论(0) 推荐(0) 编辑
摘要:Ubuntu 12.04常用的快捷键超级键操作1、超级键(Win键)–打开dash。 www.2cto.com 2、长按超级键– 启动Launcher。并快捷键列表。3、按住超级键,再按1,2,3等数字键–从Launcher打开一个应用程序,当你按住超级键时,每个应用程序图标上都会显示一个数字,按下对应的数字就会打开盖应用程序。4、超级键+A–从Launcher打开应用程序窗口。5、超级键+F–从launcher打开文件和文件夹窗口。6, 超级键+M–从launcher打开音乐窗口。7, 超级键+V–从Launcher打开Vedio视频窗口。8、超级键+W–伸展模式,缩小所有工作空间中的窗口。 阅读全文
posted @ 2013-09-06 09:45 沐阳 阅读(275) 评论(0) 推荐(0) 编辑
摘要:题意:给定一个数N,求小于等于N的所有数当中,约数最多的一个数,如果存在多个这样的数,输出其中最大的一个。分析:反素数定义:对于任何正整数x,其约数的个数记做g(x).例如g(1)=1,g(6)=4.如果某个正整数x满足:对于任意i(0=t2>=t3>=....那题题目相当于求解小于等于N中,最大的反素数。搜索即可。这个搜索的速度是很快的。#include #include #include #include #include #include #include using namespace std;typedef long long LL;LL n;vectorvp;mapmp 阅读全文
posted @ 2013-09-05 20:04 沐阳 阅读(891) 评论(0) 推荐(1) 编辑
摘要:题意:给定N(1#include #include #include #include using namespace std;typedef unsigned long long LL;const int N = 70;LL f[70][70];// f[i][j]表示将i个盘通过j个柱子从第一根柱子移动到最后一根柱子所需要的最少次数 int path[70][70]; // 表示f[i][j]的得到的最优移动方案是先将最小的path[i][j]个盘移动到某一根柱子上 int n, m;stackstk[70];char ocp[70];void pre() { memset(f, 0... 阅读全文
posted @ 2013-09-04 22:11 沐阳 阅读(1128) 评论(0) 推荐(0) 编辑
摘要:A.The Wall题意:两个人粉刷墙壁,甲从粉刷标号为x,2x,3x...的小块乙粉刷标号为y,2y,3y...的小块问在某个区间内被重复粉刷的小块的个数。分析:求出x和y的最小公倍数,然后做一个一维的区间减法就可以了。#include #include #include #include using namespace std;typedef long long LL;int x, y, a, b;int main() { scanf("%d %d %d %d", &x, &y, &a, &b); int d = __gcd(x, y); 阅读全文
posted @ 2013-09-01 13:14 沐阳 阅读(518) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示