数学
文章平均质量分 73
HouseFangFZC
oo
展开
-
USACO Section 3.2 Factorials
题意:求n!的最后一个非0数字是多少思路:一看n最大才4220 我就暴力高精模拟阶乘了 而且数字只有10000+位长 也能存下 水过这里记录下最优思路 题目要求最后非0 那么我们只需除去所有的2*5 易知2一定比5多所以只需要不停地乘 而且只需要保留个位即可(没有2*5个位不可能乘出0) 最后乘上比5多的2的个数就行我的暴力代码:原创 2014-01-29 16:42:16 · 705 阅读 · 0 评论 -
CodeForces 490C Hacking Cypher
题意:一串数字 从某个地方分开成两个数字 要求前面的数字被A整除 后面的被B整除 求分开的两个数字思路:假设我们将原串S这样分成两个数字XY 则X%A==0 Y%B==0那么我们可以处理从头到i这个位置%A的值为多少 这样很容易判断第一个条件对于第二个条件我们可以这样理解 S % B == ( X % B * 10^|Y| % B ) + Y % B如果Y%B原创 2014-11-24 10:29:47 · 1614 阅读 · 5 评论 -
HDU 5109 Alexandra and A*B Problem
题意:给出数字a(思路:可以构造t为 XsY 假设 |Y|=ly |s|=ls 则 t = ( X * 10^ls + s ) * 10^ly +Y这时t%a==0 这时未知数有 X Y ly 我们可以通过枚举两个计算一个的方式达到枚举所有解的目的考虑X的范围 我们发现构造的基础是t%a==0 也就是说我们可以只关心“取模”!! 那么X一定在0~a-1之间(这里要特判原创 2014-11-23 15:52:01 · 1323 阅读 · 0 评论 -
CodeForces 482C Game with Strings
题意:n个长为m的字符串 等概率的藏起来一个串 然后游戏者来猜藏起来的串是什么 每一步游戏者可以等概率的询问字符串的一个位置 再不断的知道一些位置后 游戏者就可以确定藏起来的串是什么 问 游戏者的期望步数思路:可以说是一道概率题 也可以说是期望题 总之感觉题目不错…首先如果我们枚举藏起来的串是哪个(复杂度n) 然后利用状压去dp维护猜某些位的状态的概率 以及对原创 2014-10-31 18:40:25 · 1990 阅读 · 2 评论 -
ACdream Andrew Stankevich's Contest(1)
国庆打了场组队 效果还不错 季军 现在发下题解A:高精度模拟即可 与n互素的数不会离n/2太远 直接暴力代码:#include#include#include#includeusing namespace std; //compare比较函数:相等返回0,大于返回1,小于返回-1int compare(string str1, string str2) {原创 2014-10-01 18:11:18 · 1628 阅读 · 0 评论 -
HDU 5073 Galaxy
题意:数轴上有n个点 每个点重量1 可以移动其中k个到任何位置 使得题中式子值最小 di表示第i个点距离现在n个点的重心的距离思路:式子中wi可以去掉 因为都是1 则 式子变成I=min(sum(di*di))考虑移动的k个点 应该直接把它们移到重心 这样di为0很容易想到 我们将所有点排序后 应该从两边往中间拿 这样移动k个点 剩下一些连续的点 因原创 2014-10-22 20:54:45 · 1003 阅读 · 0 评论 -
2014多校联合八(HDU 4945 HDU 4946 HDU 4948 HDU 4950 HDU 4951 HDU 4952)
HDU 4945 2048题意:给你一堆数字 问有几个子集可以拼出2048思路:拼数字的规则相当于让数字乘二 所以不是2^i的数字不会拼出2048 那么这些数可选可不选 即为2^cnt种可能之后只要计算出有几个子集不可能拼出2048即可 不过简单的直接dp是2048*100000的复杂度的 会TLE所以要变成先枚举元素 再枚举该种元素个数 再枚举2048种状态原创 2014-08-18 18:49:38 · 1708 阅读 · 1 评论 -
HDU 4921 Map
题意:给n个节点 他们形成了最多10条链 每条最多1000的长度 每个节点有个val 你可以选择任意位置截断链 断点前的所有节点被你获得 通过题中计算公式得出你的val 问 通过随机截断 获得val的期望是多少思路:期望=所有方案val的和/方案数这里明显有分层的现象 而且每层最多10个元素 因此想到状压 那么我们只要逐层统计 每层计算一下能对“所有方案v原创 2014-08-10 14:27:44 · 1240 阅读 · 0 评论 -
2014多校联合六(HDU 4923 HDU 4925 HDU 4927 HDU 4930)
HDU 4923 Room and Moor题意:给出A序列 求满足题目所写的B序列 使得方差最小思路:可以想到最后的结果中 B序列的值一定是一段一段的 那么我们可以类似贪心去搞 对于一段序列我们可以求出什么样的b值使得方差最小 即序列中1的个数除以序列长度 又因为B是单调的 可以用一个单调栈去模拟 复杂度远远小于n^2 不要被吓怕…HDU 4925 Apple Tree题意:n*m的格子 要么种苹果 要么施化肥 施肥后的格子的相邻格子如果种了苹果 则苹果数翻倍 问最多原创 2014-08-07 19:45:37 · 1043 阅读 · 0 评论 -
2014多校训练九(HDU 4960 HDU 4961 HDU 4965 HDU 4968 HDU 4969 HDU 4970)
HDU 4960 Another OCD Patient题意:给你一串数字 相邻x个数字合并成一个数字(相加)有一定代价 问 最少花费多少使得串变成回文串思路:读完题感觉像dp 数据范围也像 就开始想怎么表示状态 最简单的应该想到dp[i][j]表示i到j区间变成回文串的最小花费 状态想好了想做法 考虑将串分成AAAABBBBBBBCCC三段 即所有A合成一个数字原创 2014-08-19 20:06:13 · 2150 阅读 · 2 评论 -
2014多校联合七(HDU 4937 HDU 4938 HDU 4939 HDU 4941)
好几天没写题解了… 都怪我太弱 补题补不动…HDU 4937 Lucky Number题意:一个数字如果只有3456这四种数字组成 那么这个数字是幸运的 问 给出一个x 它在几种进制下是幸运的 如果无穷输出-1思路:分类讨论 如果x是3或4或5或6 那么一定有无穷个进制满足(从十进制开始…) 直接输出-1除去上述情况 那么我们可以将一个数字写成这样 a0 +原创 2014-08-18 17:00:35 · 3191 阅读 · 0 评论 -
HDU 4919 Exclusive or
题意:求题目中的式子 - -b思路:推递推公式 比赛时候队友就说数字上有关系 but没推出来 - -b 题解有过程:推的过程中最巧妙的就是利用异或的性质 相邻两个数字相当于修改二进制最后两位 不过这样做通过异或出来的结果是相同的题目中数字太大 用java比较好写 处理递推的问题常用记忆化搜索代码:import java.util.*;import原创 2014-08-06 11:15:27 · 1802 阅读 · 0 评论 -
CodeForces Round #257 (Div. 2)
题目:A Jzzhu and Children ------ CodeForces 450AB Jzzhu and Sequences ------ CodeForces 450BC Jzzhu and Chocolate ------ CodeForces 449AD Jzzhu and Cities原创 2014-07-20 15:39:39 · 1321 阅读 · 0 评论 -
HDU 4814 Golden Radio Base
题意:把一个10进制数变成 x进制数 x = (1+√5)/2思路:比赛时候就被无理数进制吓傻了 其实完全没必要 因为 n = n * 1 = n * x^0由于x的0次幂等于1 所以完全可以把n当成对应的x进制数的个位 现在要做的就是把这个数转化成二进制题目给出的公式可以在两边同时乘x的若干次幂 那么这两个式子就变成了x^(i+1) + x^i =原创 2014-06-30 21:13:17 · 1196 阅读 · 0 评论 -
CodeForces 407A Triangle
题意:一个直角三角形所有点都在二维平面整点上 其中两条边长度分别为a和b 且没有任何一条边与坐标轴平行 问 这样的三角形存不存在 如果存在输出一组坐标思路:可以设解存在 然后先固定(0,0)这个点 这样就可以求出所有满足边长是a和b的(x,y)坐标分别放在两个数组里注意只枚举第一、二象限即可 要不还要防止三点共线枚举a和b的所有解 如果这确定的三个点满原创 2014-03-31 20:59:04 · 849 阅读 · 0 评论 -
CodeForces 385E Bear in the Field
题意:一只熊从(sx,sy)开始走 速度为(dx,dy) 每一秒钟速度的两个维度同时加上所在坐标的和(即 +x+y)然后走一步求 T秒钟后熊站在哪思路:T无比的大不可能是暴力的 于是想到两个可能一是这个路径有循环有规律可以排除好多步二是能构造出一个表示他行为的矩阵用快速幂做由于规律很难找到 所以可以列一下他的状态变化 (x,y,dx,dy,i) 表示原创 2014-01-28 23:06:09 · 984 阅读 · 0 评论 -
CodeForces 385D Bear and Floodlight
题意:从坐标(L,0)到坐标(R,0)直线行走 走过的地方必须被N盏灯里的至少1盏照亮 每盏灯有一个位置坐标 照亮方向任意且可照亮无限远 但只有一个固定的照明角度 求最远走多远思路:灯的数量只有20 这是突破口 可以状态压缩 用dp[i]表示i状态时走的距离 i的二进制形式中1表示对应灯亮那么最后答案就是dp[(1i) )实现时用bfs维护dp就好原创 2014-01-28 12:58:58 · 1110 阅读 · 0 评论 -
CodeForces 489E Hiking
题意:数轴上有n(1000)个点 每个点有个距离源点的距离xi和美观值bi 主人公站在源点 他希望每步步长len 但每一步必须落在n个点其中一个上 且行进方向唯一 走到点n后可以计算旅行的价值对于所有走过的点i val = sum( sqrt( abs(x[i]-x[i-1]-len) ) / b[i] ) 目标val尽量小 打印路径方案思路:第一次做分数规划题原创 2014-12-02 21:42:27 · 1160 阅读 · 0 评论