简单数学题
文章平均质量分 61
lyc1635566ty
这个作者很懒,什么都没留下…
展开
-
简单数学题-跑操场
题目大致意思是三个人三个速度v1,v2,v3,操场周长为L问三个人相遇n次需要多少时间 方法很简单,用L/fabs(v1-v2)求第一个和第二个人相遇所需时间同理求第一个和第三个人相遇所需时间。最后求lcm。要注意,除出来的数可能是小数,所以要对这两个数同乘fabs(v1-v2)*fabs(v1-v3)求出最小公倍数后再除掉#includeusing namespace std原创 2015-12-05 20:39:11 · 1103 阅读 · 0 评论 -
数学题-矩阵翻硬币-找规律
题意就是:有n*m的一个矩阵,每个点上有一枚硬币或者正面朝上或者正面朝下,然后定义了一种操作Q,对(x,y)点的硬币进行一次Q操作即为将所有(x*i,y*j)的硬币进行一次反面操作。其中(i,j为任意合法数)然后所有硬币都进行了一次Q操作,所有硬币都正面朝上了,问原来有多少硬币朝下?很容易想到的是将这个矩阵所有硬币在进行一个Q操作,则所有有多少个硬币就能知道了。然后进行模拟。但是时间复杂度原创 2016-03-18 17:02:03 · 552 阅读 · 0 评论 -
HDU4569-Special equations-小优化简单题
求是否有x满足 f(x) = anxn +...+ a1x +a0 的值mod pri*pri为0其中pri如果这个值mod pri*pri为0则这个数mod pri肯定为0。所以我们先找那些数mod pri为0 然后在将他加不断加pri就可以了。。#includeusing namespace std;int t;long long m,mm;int n;int ka原创 2016-04-08 21:21:43 · 619 阅读 · 0 评论 -
HDU-5753-Permutation Bo
题目:略题意:可以通过每个数对整个期望的贡献,注意n=1和2的情况#includeusing namespace std;double a[1111];int main(){ int n; while(scanf("%d",&n)!=EOF) { for(int i=1;i<=n;i++) { scanf("%lf",&a[i原创 2016-07-27 00:54:51 · 265 阅读 · 0 评论 -
HDU-5821-Ball-数学题
题意:转化模型后,意思就是,n个数,可以重复,q次修改每次可以将l[i]到r[i]里的数按自己想的方法排序,问能否通过q次操作,将a数组转换成b数组。思路:首先先可以排除a数组里元素和b数组元素不完全相同的情况。然后用b数组去a中找最近的一个相同的数,表上b的下标然后每次区间修改就是将a数组按照标号排序一下。之所以可以这样做是因为这个数组最后一定是要变成升序的所以每次修改都把区间都修改成升原创 2016-08-12 21:02:32 · 381 阅读 · 0 评论 -
HDU-5935-Car(杭州CCPC C题)-数学推导+水贪心
题目链接题意:一辆车在作一个不减速运动。按顺序记录这辆车整秒时的位置,问这辆车最少用多少秒跑完这条路。思路:先预处理每个间隔的长度。易证明,要使得总时间最少,最后一个间隔一定是一秒。然后diti<=di+1ti+1\frac{d_i}{t_i}<=\frac{d_{i+1}}{t_{i+1}} 通过这个式子算出最小的tit_i,倒着推上去就好了。#include<bits/stdc++.h>#de原创 2016-11-05 00:19:51 · 539 阅读 · 0 评论