自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

万事屋

一些解题思路和工作中的积累

  • 博客(18)
  • 收藏
  • 关注

原创 ural 2004. Scientists from Spilkovo 构造

题意: 输入一个n,然后把0-2^n-1 ,一次做为x 带入F ( x , n ) ,然后把得到的数转化为长度为n的二进制数 字符串。然后构造一条最短的二进制数,里面的子串要包含所有之前的到的二进制数 字符串。 做法:暴力一下发现 处理过后 数字还是 0-2^n-1; 那么那n=3 为例,就要构造出含有以下 二进制字符串 的字符串:000001010011100101110111从111开始,然后从第二个数位开始 ,至末尾,再添加一个二进制数 0 或1, 要求新得到的是未出现的二

2015-02-12 15:18:29 569

原创 ural 2003. Simple Magic 数论 因数分解

题意:就是一列数字, 像他给的样例一样操作{2, 3, 3, 6} turns it into array {gcd(2, 3), gcd(2, 3), gcd(2, 6), gcd(3, 3), gcd(3, 6), gcd(3, 6)}, that is {1, 1, 2, 3, 3, 3}.然后问,不断这要操作,几遍可以得到都是1的数组。做法: 暴力打个表发现 要么 只用1次 要么两次 要么 就是无穷的。因为n很大,操作一次就要超时的。所以要在原始数组中想方法判断。开始,我是通过暴力打表

2015-02-12 14:55:33 821

原创 ural 2002. Test Task 简单模拟 stl map的使用

2002. Test TaskTime limit: 0.5 secondMemory limit: 64 MBIt was an ordinary grim October morning. The sky was covered by heavy gray clouds. It was a little rainy. The rain drops fell on t

2015-02-12 14:41:26 521

原创 URAL 2000 Grand Theft Array V 贪心

题意:n表示有多少格子, 后面输入的是 f和s 所处的格子。f和s轮流一步步走,f先走,格子经过的地方都算自己得到的分数。输出各自最高得分。做法:贪心, f和s之间的数是偶数就平分,靠近f的数归f靠近s的归s。 如果是基数,f多得一个数。然后 f 和s各自到终点和起点一侧的分数归自己。 直接输出就好了。

2015-02-12 14:37:01 567

原创 ural 1147. Shaping Regions 几何

题意: 对照案例, 有20*20个格子, 有三次涂颜色的操作, 接下来涂颜色,输入坐标和颜色 llx, lly, urx, ury, color。 后涂会覆盖之前涂的,最后输出的是个个颜色的面积,没涂颜色的算颜色1。做法: 几何,从第一个开始, 处理第一个的时候不断找其上层的 有没有覆盖他, 有的话去掉覆盖的部分继续 处理剩下的部分。

2015-02-12 14:28:44 596

原创 ural 1146 Maximum Sum 最大连续和

题意:给个n*n的矩阵,所有子矩阵中 ,和最大等于多少。 做法:首先要理解一个O(n)的算法 。 给一个数组 求连续和的最大值。 可以用一个sum来从下标0开始计算和,不断取最大值。当加和小于0的时候 初始化为0;如 3 -4 5 1 -2 第一个步加和是3,再加上第二个-4 ,sum就变成-1了,所以要初始化sum为0,再加5 ,再加1, 最后得到最大值为6。然后对于矩阵,我们可以先预处理,sum[ i ] [ j ]为 第 i 列的 前j项和;然后枚举 两列 i,j ,然后k

2015-02-12 14:22:42 933

原创 ural 1145 Rope in the Labyrinth 图中 bfs求树的直径

首先我们要知道怎么求树的直径。树的直径是指树的最长简单路。求法: 两遍BFS :先任选一个起点BFS找到最长路的终点,再从终点进行BFS,则第二次BFS找到的最长路即为树的直径;题意:给了个图,' . ' 可以走 ‘ # ’ 是墙。因为题目中规定了两点之间最多只有一条路可以走,而且必有一条路。可以见‘ . ’ 是一个树的结构。要求得距离最长的两点的距离。也就是求树的直径了。做法: 找到节点,节点就是三面有‘ # ‘ 的 点。然后bfs 两遍求出直径就可以了。 注意:图很大,dfs 会超内存。

2015-02-12 11:11:28 929

原创 1142 Relations dp n个数的不同大小关系总数

题意: 输入一个n。代表有n个数。输出他们所有的不同关系 有多少种。做法:开一个dp[ i ][ j ] i表示当前状态有几个字母,j表示当前状态有多少个不同的数 (也就是小于号+1)。如:a < b < c a < c < b b < a < c b < c < a c < a < b 上面这些是有 有两个等于的状态, 如果想再加一个不同于a,b,c的一个数d。 拿a < b < c 来说,可以有4种方法 d<a<b<c或者 a <d< b < c 或

2015-02-12 10:57:18 780

原创 URAL 1521 War Games 2 树状数组解决约瑟夫环,输出离队顺序

题意:约瑟夫环问题。 输入n是总人数,数到k的人离队。 输出离队顺序。做法:因为要输出在原串中的位置,所以用了树状数组加二分来找。树状数组开始每个点都初始化为1,然后离队的改为减一。对于sum(x),x是原来环的 标号,sum(x) 就表示 当前 减少了人数的环中 对应的 是第几个。

2015-02-12 10:32:31 1687

原创 URAL 1518 Jedi Riddle 3 矩阵快速幂

就是 那个加粗的公式 写成矩阵相乘就ok了。 轻松a。 矩阵快速幂100*100 大小的矩阵差不多极限了。

2015-02-12 10:18:10 565

原创 URAL 1517 Freedom of Choice 后缀数组 入门

1517. Freedom of ChoiceTime limit: 2.0 secondMemory limit: 64 MBBackgroundBefore Albanian people could bear with the freedom of speech (this story is fully described in the problem "

2015-02-12 09:54:06 494

原创 URAL 1515 Cashmaster 数学题

题意:从小到大输入n个数,这n个数每个数只用一次,可以通过加法组成很多数。然后从1开始判断这些数无法组成的最小的一个数。做法:如果开头不是1,那输出就是1了,因为无法通过别的数来获得1。如果开头是1,第二个不是2那就输出2,也是因为不能通过别的数加成2了。 那么有了基础就可以开始递推了。假设 前x-1个可以获得任意小于 前x-1个数的和 的数。那么假设x-1个数的和大于等于第x个数-1,那么就是从1到x-1个数都可以组成。如果不行直接输出前x-1个数的和就好了。

2015-02-12 09:52:16 531

原创 zoj 3045 Random or Shuffle 狗模拟

Random or ShuffleTime Limit: 2 Seconds      Memory Limit: 65536 KBMany media players, both software and hardware, support some kind of random mechanism, which allows the users to hear thei

2015-02-12 09:33:31 540

原创 zoj 3041 City Selection yy的题

City SelectionTime Limit: 5 Seconds      Memory Limit: 32768 KBThe government decided to build some cities in a newly developping area. Now they had N different locations to select from, w

2015-02-12 09:24:41 476

原创 hdu1251 统计难题 裸的字典树 前缀子串统计

Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀). 就是把经过的路径上的v++就ok了;

2015-02-07 16:11:56 487

原创 hdu 1247 Hat’s Words 字典树 二次查找

题意:输出由两个单词构成的单词. 先建树,然后查找. 找到前缀后,再找后缀. 都找到了 就输出.

2015-02-07 15:58:14 474

原创 hdu 1242 Rescue bfs+优先队列priority

题意: 求r到a最短距离,遇到守卫x ,要多花一秒.因为有守卫,所以普通队列得到的不一定是最优解,普通队列中最前面的只是步数最小,不是时间最少.所以要用优先队列,让时间花费最小的排在前面.注意: 因为没有考虑到可能没有r,也就是没人来救的情况,结果我一直RE. 衰.

2015-02-06 21:58:57 509

原创 hdu 1226 超级密码 bfs+取余判重

bfs+同余判重,复杂度为0(n)我们都知道 (n+m)%mod =(n%mod+m%mod)%mod对于这题 也可以类似得得到以下的结论假如一个2位数 从高位到低位 依次是 ab, ;那么 这个对这个数取模 , 相当于 (a*10+b)%mod 相当于 ((a%mod)*10+b)%mod,,这里的mod 就是n,10就是进制c.

2015-02-06 19:14:47 841

空空如也

空空如也

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

TA关注的人

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