自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Rocky0429

微信搜【codegoudan】

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

原创 HDU 5323(2015多校3)-Solve this interesting problem(dfs+剪枝)

题目地址:HDU 5323 题意:给一个l,r,表示区间[l,r],问是否存在区间为[0,n]的线段树的节点区间为[l,r],如果有求最小的n,如果没有输出-1。 思路:因为L/(R-L+1)<=2015,按照线段树的性质每次分区间序号扩大两倍,所以可以得出差不多有22层,所以用爆搜就可以,由上把[l,r]区间不断扩张,直到满足l==0为止。顺便剪剪枝。#include <stdio.h>#i

2015-07-30 10:04:09 724

原创 HDU 5326(2015多校3)-Work(dfs)

题目地址:HDU 5326 题意:给一张有向图n个点,n - 1(。。。。输入n-1)条边。 A指向B代表A管理B,然后可以间接管理,比如A管理B,B管理C,则A管理C。 现在问管理k个人的人有多少个。#include <stdio.h>#include <math.h>#include <string.h>#include <stdlib.h>#include <iostream>#i

2015-07-29 16:29:37 1315

原创 HDU 5319(2015多校3)-Painter(dfs)

题目地址:HDU 5319 题意:给一个图n*m,原来全是点(’.’)。 现在要把图染成已给出的样子。 要求当是’\’的情况只用红色,是’/’的情况只用蓝色,当一个格子同时被红色和蓝色染得时候变成绿色。(每个格子只画一次)。 思路:这题只要模拟一下刷的过程就行了,如果出现了R,就刷R刷到底,出现B就刷B,出现G就左右各刷一次。#include <stdio.h>#include <math.h

2015-07-29 16:23:59 1453 1

原创 HDU 5317(2015多校3)-RGCDQ(数论)

题目地址:HDU 5371 题意:每次T(1000000)次询问,每次询问有一个区间[L, R] (2 <= L < R <= 1000000 )。 f(i) 表示的是数i的素因子种类数。 然后求这个区间内GCD(f(i), f(j))的最大值,(L <= i < j <= R )。 思路:2*3*5*7*9*11*13=270270<1e6<2*3*5*7*9*11*13*17=4594590

2015-07-29 16:18:52 1451

原创 POJ 3318-Matrix Multiplication(压缩矩阵用o(n^2)的方法求矩阵相等)

题目地址:POJ 3318 题意:有3个n*n的矩阵A,B,C,问AB是否等于C。 思路:题目描述很简单,就是用矩阵乘法,但是很明显矩阵乘法的时间复杂度为O(n^3),很明显超时。那怎么改进呢?就是用压缩矩阵的方法: 设矩阵R是1*n的矩阵,根据矩阵的性质,若A*B*R=C*R,那么A*B=C。由此可以看出来,虽然多成了一个矩阵,但是时间复杂度成了O(n^2)。那么问题是这个R的行列式该怎么设

2015-07-28 10:51:56 1678

原创 POJ 2891-Strange Way to Express Integers(扩展欧几里德)

题目地址:POJ 2891题意:给你k组同余关系,每组包含一个ai和ri,让你找出一个最小的数m,满足m%a1=r1,m%a2=r2.......m%ak=rk。思路:纵观上述公式,很熟悉,其实就是求两两公式之间的最小值,例如K=3,那么先求第一组和第二组的最小,然后合并第一组和第二组,然后用合并之后的再和第三组找最小,最后的结果就是最终的结果。也就是这个题分两部分来完成。1.找出两组

2015-07-27 21:03:12 966

原创 HDU 5312-Sequence(三角形数+推导)

题目地址:HDU 5312题意:Soda习得了一个数列, 数列的第nn (n \ge 1)(n≥1)项是3n(n-1)+13n(n−1)+1. 现在他想知道对于一个给定的整数mm, 是否可以表示成若干项上述数列的和. 如果可以, 那么需要的最小项数是多少?例如, 22可以表示为7+7+7+17+7+7+1, 也可以表示为19+1+1+119+1+1+1.思路:三角形数形如n*(n-1)

2015-07-27 16:03:07 1367

原创 POJ 1026-Cipher(置换群)

题目地址:POJ 1026题意:给一个字符串加密,如果字符串长度不够n,那么对字符串补空格,一直到n。给你n个数字代表加密方式,i位置的字母将被写到加密信息的ai位置,如此反复加密k次,让你求最后的密文。思路:其实就是字符串的下标按照加密方式来置换,若干次变换后肯定又会回到原来的位置,每次的虚幻长度用lon来记录。例如:1->4->7->1  那么1号位置的循环长度lon[1]=3;2

2015-07-25 16:24:07 1321

原创 POJ 3270-Cow Sorting(置换群)

题目地址:POJ 3270题意:有n头牛,每头牛有一个独一无二的”愤怒值“,要想把他们的愤怒值从小到大排序(交换任意两头牛位置所花费的时间为他们愤怒值的和),求最小的交换时间。思路:1.找出初始状态和结束状态(初始状态为题目所给,结束状态为从小到大排列)2.画出置换群,在里面找循环。例如初始状态:8 4 5 3 2 7结束状态:2 3 4 5 7 8从头开始找8

2015-07-25 10:30:24 1456

原创 POJ 2409-Let it Bead(Polya计数)

题目地址:POJ 2409题意:给一个包含s个珠子的项链,用c种颜色对其染色,问存在多少个不同的项链。思路:和上一篇POJ 1286差不多。#include #include #include #include #include #include #include #include #include #include #include //#pragma comm

2015-07-24 16:06:59 1174

原创 POJ 1286-Necklace of Beads(Polya计数)

题目地址:POJ 1286题意:n个珠子串成一个圆,用三种颜色去涂色。问一共有多少种不同的涂色方法(不同的涂色方法被定义为:如果这种涂色情况翻转,旋转不与其他情况相同就为不同。)思路:Polya定理第一发,这道题其实就是一个最简单的板子题。要想明白Polya定理首先要知道置换,置换群和轮换的概念,可以参考这里(用例子很好理解)。项链可以进行旋转和翻转。翻转:如果n是奇数,则存在

2015-07-24 15:48:40 1969 1

原创 POJ 1222-EXTENDED LIGHTS OUT(高斯消元求解异或方程组)

题目地址:POJ 1222题意:有一个5*6的矩阵,每个位置都表示按钮和灯,1表示亮,0表示灭。每当按下一个位置的按钮,它和它周围灯的状态全部翻转(题目中给出如何影响),问在这样的一个方阵中按下哪些按钮可以把整个方阵都变成灭的,这时1表示按了,0表示没按。#include #include #include #include #include #include #include

2015-07-23 21:23:28 1636

原创 Codeforces Round #313 (Div. 2)(A,B,C,D)

A题:题目地址:Currency System in Geraldion题意:给出n中货币的面值(每种货币有无数张),要求不能表示出的货币的最小值,若所有面值的都能表示,输出-1.思路:水题,就是看看有没有面值为1的货币,如果有的话,所有面值的货币都可以通过1的累加得到,如果没有的话,最小的不能表示的就当然是1辣。#include #include #include #inc

2015-07-23 10:32:42 1509

原创 POJ 2065-SETI(高斯消元求解同余方程式)

题目地址:POJ 2065题意:输入一个素数p和一个字符串s(只包含小写字母和‘*’),字符串中每个字符对应一个数字,'*'对应0,‘a’对应1,‘b’对应2....           eg:str[] = "abc", 那么说明 n=3, 字符串所对应的数列为1, 2, 3。           同时题目定义了一个函数:a0*1^0 + a1*1^1+a2*1^2+........

2015-07-22 16:13:49 1946

原创 POJ 2947-Widget Factory(高斯消元解同余方程式)

题目地址:POJ 2947题意:N种物品,M条记录,接写来M行,每行有K,Start,End,表述从星期Start到星期End,做了K件物品,接下来的K个数为物品的编号。此题注意最后结果要调整到3-9之间。思路:很容易想到高斯消元。但是是带同余方程式的高斯消元,开始建立关系的时候就要MOD 7解此类方程式时最后求解的过程要用到扩展gcd的思想,举个例子,如果最后得到的矩阵为:

2015-07-22 10:29:55 2457

原创 POJ 1830-开关问题(高斯消元求自由元个数)

题目地址:POJ 1830思路:点击打开链接利用矩阵思想A*x=b,其中A为n*n的变换矩阵,x,b均为列矩阵;x 表示对n个开关的操作,1表示动它,0表示不动它,显然最后是求解的个数.A[i][j]=1表示若操作开关j会引起i的变化.b 表示若开关i的初始状态和目标状态不同,则b[i]=1,否则b[i]=0.即b表示最终所有开关的变化状态.0为不变,1为变.b[i] =

2015-07-21 11:26:32 2031

原创 NYOJ 461-Fibonacci数列(四)(求斐波那契数列前4位)

题目地址:NYOJ 461思路:斐波那契数列的通项公式为然后下一步考虑如何产生前4位:先看对数的性质,loga(b^c)=c*loga(b),loga(b*c)=loga(b)+loga(c);假设给出一个数10234432,那么log10(10234432)=log10(1.0234432*10^7)【用科学记数法表示这个数】=log10(1.0234432)+7;log10

2015-07-10 18:48:09 2614

原创 NYOJ 298-点的变换(经典矩阵解决点平移、缩放、翻转和旋转)

题目地址:NYOJ 298思路:该题如果用对每个点模拟的操作,时间复杂度为O(n+m),结果肯定超时。然而利用矩阵乘法可以在O(m)的时间内把所有的操作合并为一个矩阵,然后每个点与该矩阵相乘可以得出最终的位置。PS:十个利用矩阵乘法解决的经典题目 超级详细。#include #include #include #include #include #include #incl

2015-07-10 17:24:48 952

原创 NYOJ 70-阶乘因式分解(二)

题目地址:NYOJ 70思路:n!=(1*2*3*4*......*(n-1)*n)=(m*2m*3m*.....*(k-1)m*km)*其他=(1*2*3*....*k)*m*其它 。其中km是最大值,km

2015-07-10 09:42:30 1417

原创 NYOJ 46-最少乘法次数(数论)

题目地址:NYOJ 46思路:可以化成二进制来求解,结果是最高位的位数-1+最高位后面1的个数。例如:对于3,它的二进制代码为11,就是用这个最高位(2-1)加上后面的1的个数(1个)。用最高位1的目的是他能代表了转化的次数,因为2+2=4,4+4=8 8+8=16........#include #include #include #include #include #in

2015-07-09 18:56:09 2281

原创 NYOJ 7-街区最短路径问题(曼哈顿距离)

题目地址:NYOJ 7曼哈顿距离:两点在南北方向上的距离加上在东西方向上的距离,即d(i,j)=|xi-xj|+|yi-yj|。对于一个具有正南正北、正东正西方向规则布局的城镇街道,从一点到达另一点的距离正是在南北方向上旅行的距离加上在东西方向上旅行的距离。思路:因为只能东西和南北方向走,所以先把南北(X)和东西(Y)方向的坐标分开,分别求它们的最值,然后相加即可。分析可以得知,邮局的所建

2015-07-09 17:09:21 6343

原创 HDU 2767-Proving Equivalences(强联通+缩点)

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2015-07-01 17:24:40 1951

空空如也

空空如也

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

TA关注的人

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