自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (2)
  • 收藏
  • 关注

原创 大学总结

0.    序章毕业时,就准备写一篇关于大学期间的总结。很多人是这样做了。由于当时的思绪有点混乱,所以这个总结就拖延至今。前几日,回了趟学校。故国重游,颇生感触,往事总总,历历在目。于是就决定补上这两年前所拖欠的事情。谨以此作为对大学生活的总结。1.    换学校与转专业2008年高考之后,我只报了兰州大学的物理专业,结果被提档后退档。就在准备复读之际,平行志愿给了我另一个选择。当时,

2014-11-12 09:33:29 3484 17

原创 UVa 10490 - Mr. Azad and his Son!!!!!

题目:给你一个数k判断2^(k-1)*(2^k-1)是不是完全数(真因数之和和自身相等),不是判断k是不是素数。分析:数论。欧拉证明了所有偶完全数都满足式子2^(k-1)*(2^k-1);其中2^k-1为素数时,上式为完全数。            满足2^k-1形式的素数叫梅森素数,这里打表计算50000内的素数判断2^k-1是不是素数即可。           (入股存在,超过50

2014-11-28 00:14:54 1249

原创 UVa 11389 - The Bus Driver Problem

题目:有n个上午的任务和下午的任务,分配给司机,如果工作总时间超过d,超过的部分要给加班费;            现在让你安排任务,问最小的加班分花费。分析:贪心。将两个任务分别按递增和递减序排序,每个一组即可。            设序列中的两组配对的元素为m1,a1,m2,a2 且 m1≤m2,a1≤a2;            则配对方式,优于,(浪费的可能更少)。说

2014-11-27 18:11:26 1754

原创 UVa 469 - Wetlands of Florida

题目:给你一个矩阵和某些点,找到给的点所处连续的W区域的面积(八个方向)。分析:搜索。floodfill算法,利用搜索直接求解就可以了。说明:注意读入数据的格式。#include #include #include using namespace std;char maps[111][111];int used[111][111];int dxy[8][2] = {

2014-11-26 00:34:12 1786

原创 UVa 628 - Passwords

题目:给你一个单词的字典,一个由0与#组成的字符串,0代表数字0-9,#代表字典中的单词;            输出所有的0#串的表示方式,统一句子中的#代表一个单词。分析:搜索。打表计算出所有的数字的排列情况,然后枚举输出即可。说明:P(10,7)当成P(7,7)数字开小了,RE了好几次。#include #include #include #include #incl

2014-11-25 11:59:04 1360

原创 UVa 423 - MPI Maelstrom

题目:n个机器之间传递信息,求最长的传递时间。分析:最短路。数据较小,任何一种最短路算法都可以解决。说明:单源最短路(⊙_⊙)。#include #include #include #include #include #include using namespace std;#define Inf 0x7fffffffint g[101][101];int m

2014-11-23 23:12:59 1108

原创 UVa 11729 - Commando War

题目:一个长官给n个人安排任务,每个人描述问题和解决问题的时间分别为Bi、Ji,求所有人完成任务的最早时间。分析:贪心。案结束时间递减排序即可。说明:最近打钢铁雄心影响进度了(⊙_⊙)。#include #include #include #include #include #include using namespace std;typedef struct nod

2014-11-23 22:35:08 1041

原创 UVa 10642 - Can You Solve It?

题目:二维平面上的整数点,用路径链接起来(0,0)->(1,0)->(0,1)->(2,0)->..            给你两点坐标,求两点间步长(在路径上的距离)。分析:简单题。            我们发现点是按照x+y的递增序,且y的递增序(x+y相同时)排列的;            所以每个点对应的路径上的位置为:(x+y)*(x+y+1)/ 2 + y。说明:

2014-11-21 09:11:34 3948

原创 UVa 10763 - Foreign Exchange

题目:给你一个图的边集,问是不是多有的边都有回边。分析:图论,排序。直接排序查找判定即可。            按照边的最小端点,和最大端点排序,则成对的边(或者相同的边)一定相邻。说明:(⊙_⊙)。#include #include #include #include #include #include using namespace std;typedef

2014-11-20 12:34:36 1078

原创 UVa 10700 - Camel trading

题目:给你一个只有加法和乘法的计算式,可以改变计算的优先级,求式子的最大值和最小值。分析:dp,区间动态规划。矩阵想成类似物。            状态:f(s,e)为区间[s, e]上计算式最大值,t(s,e)为区间[s, e]上计算式最小值;            方程:f(s,e)= max(f(s,k)+ f(k+1,e)) { s ≤ k ≤ e };         

2014-11-19 14:19:36 1133

原创 UVa 11849 - CD

题目:给你两个有序序列(每个序列中元素不同),求两序列中都出现的元素个数。分析:简单题。合并排序合并过程。            设置两个指针,指向两序列当前元素,那个元素小指针向后移动,同样大则计数加一,同时后移。说明:简单题。(⊙_⊙)#include #include #include #include #include #include using names

2014-11-19 09:47:58 1159

原创 UVa 10616 - Divisible Group Sums

题目:给你n个数字,从中取出m个,使得他们的和能整除d,问有多少种取法。分析:dp,二维01背包。整数拆分用背包。           首先,将所有的点对d取余数,则所有数字均在整数区间[0,d)上;           然后,确定背包容量,最大为20*10 = 200,计算二维01背包;           最后,求出所有能整除d的整数取法的和即可。说明:注意使用long l

2014-11-18 20:10:01 1356

原创 UVa 10176 - Ocean Deep ! - Make it shallow !!

题目:给你一个二进制串,判断能否被131071 整除。分析:数论。直接模拟除法运算,求出余数即可。说明:注意可能有非法字符(例如空格)。#include #include #include #include #include #include using namespace std;char buf[10010],temp[110]; int main(){

2014-11-18 11:07:47 1597

原创 UVa 884 - Factorial Factors

题目:输出n!中素数因数的个数。分析:数论。这里使用欧拉筛法计算素数,在计算过程中求解即可。            传统筛法是利用每个素数,筛掉自己的整数倍;            欧拉筛法是利用当前计算出的所有素数,乘以当前数字筛数;            所以每个前驱的素椅子个数一定比当前数的素因子个数少一个。说明:又一次用了“线性筛法”。#include #incl

2014-11-17 13:56:29 1433

原创 UVa 10976 - Fractions Again?!

题目:给你一个数k,求所有使得1/k = 1/x + 1/y成立的x≥y的整数对。分析:数论,枚举。枚举所有在区间(k+1,2k)上的y即可,当1/k - 1/y的结果分子为1即为一组解。说明:自从去郑州招聘回来,状态一直不好╮(╯▽╰)╭。#include #include #include #include #include #include using namesp

2014-11-16 14:31:21 2741 2

原创 UVa 10363 - Tic Tac Toe

题目:给你一个井字棋的状态,判断是否合法。分析:枚举。直接枚举多有情况判断即可。            合法状态有三种情况:(X先下子)            1.X赢,则O不能赢,且X比O多一子;            2.O赢,则X不能赢,且O和X子一样多;            3.没人赢,此时O的子和可能和X一样多,也可能少一个。说明:简单题(⊙_⊙)。#inc

2014-11-16 13:53:40 1239

原创 UVa 11988 - Broken Keyboard (a.k.a. Beiju Text)

题目:在一个没有显示器的电脑上输入一个字符串,键盘坏掉了,会随机的出现home,和end按键,            字符串中'['代表home键(句首),']'代表end键(句尾),问最后输出的字符串的格式。分析:模拟,递归。逆向运算即可。            一个格式符('['或者‘]’)只能影响到他后面的格式符间的字符串,与它前面的字符串之间的先后关系;         

2014-11-16 12:51:26 2385

原创 UVa 10852 - Less Prime

题目:分析:说明:打表计算,查询输出,提高效率。

2014-11-15 20:15:28 1073

原创 UVa 263 - Number Chains

题目:给你一个数字n0,将它的每个位的数字按递增排序生成数a,按递减排序生成数b,            新的数字为n1 = a-b,下次按照同样方法计算n1,知道出现循环,问计算了多少次。分析:数论、模拟。直接模拟计算即可,利用hash表判重。说明:注意初始化。#include #include #include #include #include #include

2014-11-14 12:12:58 1679

原创 UVa 10714 - Ants

题目:一根棍子上,有n只蚂蚁,他们沿直线行走,如果碰到其他蚂蚁就掉头,            现在你可以初始化每只蚂蚁的方向,求最后的蚂蚁走下来的最快和最慢时间。分析:贪心。两只蚂蚁碰撞,可以看成他们沿原来的方向运动(掉头的两只蚂蚁互换身份)。            由于上面的结论,我们可以知道,每只蚂蚁最少的时间就是走向最近的端点;            每只蚂蚁最长的时间就是走

2014-11-13 15:44:30 1627

原创 UVa 147 - Dollars

题目:有一些面值的钱币,问组成面值n,有多少种方法。分析:dp,完全背包。整数拆分用背包。说明:使用long long防止溢出。#include #include #include #include #include #include using namespace std;long long F[30003];int C[11] = {10000,5000,200

2014-11-13 14:18:00 820

原创 UVa 11401 - Triangle Countin

题目:给你n根长度分别为1,2,..,n的棍子,问能组成多少个不同的三角形。分析:组合数学,计数原理。本题可以正向求解也可以反向求补集,这里采用正向求解。            1.首先写出前几组数据,找规律:{ 里面的括号是子情况 }            (4,3,(2))            (5,4,(3,2))            (6,5,(4,3,2))(6,

2014-11-12 15:47:07 1448 3

原创 UVa 10278 - Fire Station

题目:一个城市有i个小镇,其中有一些有消防站,现在想增加1个消防站,使得所有小镇到最近的消防站的距离中的最大值最小。分析:图论,最短路。利用spfa算法可以高效解决本问题。            首先,利用已有的消防站,计算多源最短路径,储存在集合dist中;            然后,枚举所有顶点,计算单元最短路,存储在集合newd中,则得到新的多元最短路集合S;

2014-11-12 12:16:01 1482

原创 龙——中华民族象征的

一、龙的形象的出现        “龙”这个字在甲骨文中就有,字的形状是一个大头,有一个弯曲的身子。传说在帝舜的时候,董父因驯养龙很好,被赐了一个氏族名叫“豢龙氏”。夏代也有驯养龙的人叫刘累,被赐了一个氏族名叫“御龙氏”。从这些传说看,至少在尧舜禹时期,人们跟龙就有关系。        从考古发现上看,目前发现的3600年以前的龙遗存大约已有10多个。比如,2004年在河南偃师二里头发现了

2014-11-12 09:37:11 1457

原创 UVa 11517 - Exact Change

题目:给你一些钱币和一个价格,用钱币组成不小于价格的最低值,并使得此时使用的钱币总数最少。分析:dp,01背包。初始化所有的的钱数组成都需要Max张钱币,F[0] = 0,更新即可。            因为,可以取超过price的值,所以将背包的容量扩大一些,找到最接近的即可。说明:找零钱用背包。#include #include using namespace std;

2014-11-11 22:46:58 2000

原创 UVa 11504 - Dominos

题目:有一些多米诺骨牌,现在告诉你他们的相邻顺序,问最少推几次可以把他们全部推倒。分析:图论,强连通分量。强连通分量上的某点被推到,整个分量都会倒。            求强连通分量,然后缩点,剩下的“点”中每个入度为0的点都要用手推倒;(必要性)            再者,在缩点后的图中,每次找到一个入度为0的点推倒后,不会产生新的入度为0的点;(充分性)       

2014-11-11 18:58:53 1874

原创 UVa 10407 - Simple division

题目:给你几个数,求使他们同于的最大除数。分析:数论。取其中两不相同数的差,差值一定是除数的倍数,利用差值枚举除数即可。说明:小心都是素数的情况,被坑了╮(╯▽╰)╭。#include #include #include #include #include using namespace std;long long save[1001];int main(){

2014-11-11 17:06:25 2372

原创 UVa 10139 - Factovisors

题目:判断n!能否整除m。分析:数论。先将m拆成素数的积的形式,再判断n!中对应每个素数的个数,是否大于m的即可。            首先,打表计算50000内素数,用这些素数除不尽的数一定也是素数,不过最多只有一个;            然后,分解m成素数的积的形式,统计每个素数因子的个数;            最后,判断n!中每个素数因子的个数是否大于m中对应的素数个数

2014-11-04 18:00:33 1395

原创 UVa 639 - Don't Get Rooked

题目:在n*n的方格里,放入几个喷火器,他们会攻击同行、同列的点,问做多能放多少个。分析:图论,搜索,二分图匹配。本题可以利用搜索求解,这里我使用的是二分图匹配。            建图,把原图每行每列的不同的连续区间分别看成一个新图中的点xi与yj;            则边表示原图中对应位置的点,原图中可以互相攻击的点就对应到新图中相同的xi与yj;           

2014-11-01 17:44:50 868

SOFA: A Multi-Model Framework for Interactive Physical Simulation

HAL is a multi-disciplinary open access archive for the deposit and dissemination of scientific research documents, whether they are published or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

2018-06-24

空空如也

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

TA关注的人

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