这道题能解释一下吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了这道题能解释一下吗?相关的知识,希望对你有一定的参考价值。

设n为正整数,已知n除以4的余数和n除以3的余数,那能确定n除以6的余数吗?

可以,
假设除以4的商为a余数为j,初一3的商为b余数为k
那么可得
n=4a+j
n=3b+k
可以换算成
3n=12a+3j
4n=12b+4k
两式相减得
n=12b+4k-12a-3j
n=12(b-a)+(4k-3j)
即能除以12余4k-3j,所以除以6必定也余4k-3j,如果算出来是负数或者大于6,取正值或者再除以6即可
参考技术A

    谁能帮我解释一下这道题?. 答案已经知道,要详细的解答过程,谢谢了!. #热议# 蓝洁瑛生前发生了什么?. (4)规定性的国际日期变更线为经度180°,这是其一;另外跨过凌晨十二点即为新的一天, 而与太阳直射点对称的点即处在凌晨十二点,由对称性可知该 ...

    这道二级vb题什么意思呢?能解释一下吗?

    https://xinli.xkyn.com/wenti/xinli-2272077070429463268.htm

    能解释一下 吗? 新理观察网 新理观察网 新理 这道二级vb题什么意思呢?能解释一下吗 ... 请用中文将这道题表达的意思和具体解答过程说出来,谢啦,关于计算机二级vb考试的题目 - ..... Option Base 1 //规定数组的下标从1开始 Private Sub Command1_Click (4,4 ...

    谁能帮我详细解释一下这道题怎么做

    https://hz-xin.com/t-199412704571828165.html

    谁能帮我详细解释一下这道题怎么做 - ----- : 一般从数组中找最大值就需要边遍历整个数组,在这个过程中一般假设数组的第一个元素是最大值,开始遍历,如果发现比现在的最大值还大的数,就予以替换,一直遍历完整个数组这是基本思路,上边程序的思路是先把当前

    如果昨天是明天,今天就是周五。那么今天是周几?这个问题 ...

    https://zhidao.baidu.com/question/304950191338932244.html

    2018-9-23 · 分析:这道题与对该句话的理解有关,不同的理解得出不同的答案。假如是第一种情况的话,今天应该是周日,明天是星期一,但是如果昨天是明天的话,明天还是周六,大后天是周日。难道这个人还想过个周末?

    如果昨天是明天今天是星期五答案_百度知道

    2020-9-19

    3、如果两天之后是周一,那么昨天是周几?_百度知道

    2020-6-19

    如果昨天是明天 那么今天是星期几?_百度知道

    2016-3-14

    前天是星期一以后的两天,那么今天是星期几?_百度知道

    2014-7-27

    这道题选什么,另,解释一下D选项 这道选择题选哪个,解释一

    https://m.anhuilife.com/xuexi-rvmdymiyy.htm

    这道题选D请问为什么呢! - C语言这道题 选项A与D能解释一下吗 用%26 是干什么的啊? - 这题D选项什么意思 我看不懂 - 这道题选D对吗,还是CD都选?求解释.要讲下为什么~ - 解释一下12题的D选项 - 相关链接: 这道题选a

    高中化学,能详细的讲解一下这道题吗?答案的解析看不懂 ...

    https://xinli.xkyn.com/wenti/xinli-650476850649810725.htm

    高中化学,图片中这道题的第一问是怎么看出来的(请详细讲解一下,谢谢) - ..... 观察质谱图,分子离子峰质荷比90,一般可认为C的相对分子质量为90.而9.0gC完全燃烧生成5.4g水与13.2gCO2,即0.1mol C完全燃烧生成0.3mol H2O和0.3mol CO2,可算得C的分子式为

    【奇葩说第六季】1031、1102期辩题和辩论导读 - 知乎

    https://zhuanlan.zhihu.com/p/89904693

    "这道题的两场都播了,可以说是相当的精彩。 事实上这道题确实也是最复杂的一道题,我们就先从这道题说起。 这道题目与其说复杂,不如说空间太大,因为很多问题都不明确,这在比赛中选手有指出来一些,但还有很多是没有指出来的。

    【图解】记一次手撕算法面试:字节跳动的面试官把我四连击 ...

    https://www.cnblogs.com/kubidemanong/p/11949244.html

    接着面试官说我这道题的空间复杂度是 O(n),问我能优化一下吗? 说实话,如果你做过 leetcode 的第 20 题,可能你的脑子会被定向也不一定,因为那道题用栈来处理就是最优解的了。不过这道题属于简化版,其实可以把空间复杂度优化成 O(1),大家可以想一下

    史上最贱的数学题 - 知乎

    https://zhuanlan.zhihu.com/p/33853851

    史上最贱的数学题. 灯照. . 加速!. 加速!. 10,347 人 赞同了该文章. 更新一点东西吧:除了对解的估计不足,很多朋友在暴力求解时往往还会忽略一个问题——精度。. 程序自带的Double类型精度是有限的,面对小数部分极长的数字(bigdecimal)时,往往会引入错误 ...

    攻防世界unserialize3题解_黑锤的博客-CSDN博客_攻防世界 ...

    https://blog.csdn.net/LTtiandd/article/details/99591998

    unserialize3看题目就知道这是一道反序列化问题,之前也遇到过,也深入理解过,但时间隔了这么久,难免会有些忘记,通过这道题来再次深入序列化与反序列化的问题。0x00:那么到底什么是序列化,反序列化呢?先来讲一点为什么要用序列化呢?

BZOJ 1492 货币兑换 cdq分治或平衡树维护凸包

题意:链接

方法:cdq分治或平衡树维护凸包

解析:

这道题我拒绝写平衡树的题解,我仅仅想说splay不要写挂,insert边界条件不要忘。del点的时候不要脑抽d错。有想写平衡树的去看140142或者留言我。

首先这道题能推出个表达式

f[i]代表第i天最大收益。

xx[i]表示将第i天的钱都买A的数量

yy[i]表示将第i天的钱都买B的数量

所以f[i]=max(f[i?1],p[i].a?xx[j]+p[i].b?yy[j])j<i

所以我们要维护这个n^2的递推式

又知道f[i]是由小于i的j更新的,

但方程要进一步写一下

yy[i]=(-p[i].a/p[i].b)*xx[i]+f[i]/p[i].b

所以我们要得到最大截距所以能够依照斜率递减维护一个凸包来找某一确定直线与这个凸包截得的最大截距,也就是斜率第一个小于等于它的某个凸包上的点。

之后的部分就是採用cdq维护或者平衡树

平衡树真是一个噩梦

代码:

#include <cmath>
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#define N 100010
#define eps 1e-9
#define INF 0x7fffffff
using namespace std;
typedef long long ll;
int n;
double f[N];
int stack[N];
struct node
{
    double x,y,a,b,rate,k;
    int w;
}p[N],t[N];
int cmp(node a,node b)
{
    return a.k>b.k;
}
double getk(int a,int b)
{
    if(!b)return -INF;
    if(fabs(p[a].x-p[b].x)<eps)return INF;
    return (p[b].y-p[a].y)/(p[b].x-p[a].x);
}
void solve(int l,int r)
{
    if(l==r)
    {
        f[l]=max(f[l-1],f[l]);
        p[l].y=f[l]/(p[l].a*p[l].rate+p[l].b);
        p[l].x=p[l].rate*p[l].y;
        return;
    }
    int mid=(l+r)>>1;
    int l1=l,l2=mid+1,pt=1;
    for(int i=l;i<=r;i++)
    {
        if(p[i].w<=mid)t[l1++]=p[i];
        else t[l2++]=p[i];
    }
    for(int i=l;i<=r;i++)p[i]=t[i];
    solve(l,mid);
    int top=0;
    for(int i=l;i<=mid;i++)
    {
        while(top>1&&getk(stack[top-1],stack[top])<=getk(stack[top],i))top--;
        stack[++top]=i;
    }
    stack[++top]=0;
    for(int i=mid+1;i<=r;i++)
    {
        while(pt<top&&getk(stack[pt],stack[pt+1])>p[i].k)pt++;
        f[p[i].w]=max(f[p[i].w],p[stack[pt]].x*p[i].a+p[stack[pt]].y*p[i].b);
    }
    solve(mid+1,r);
    l1=l,l2=mid+1;
    for(int i=l;i<=r;i++)
       if(((p[l1].x<p[l2].x||(fabs(p[l1].x-p[l2].x)<eps&&p[l1].y<p[l2].y))||l2>r)&&l1<=mid)t[i]=p[l1++];
       else t[i]=p[l2++];
    for(int i=l;i<=r;i++)p[i]=t[i];
} 
int main()
{
    scanf("%d%lf",&n,&f[0]);
    for(int i=1;i<=n;i++)
    {
        scanf("%lf%lf%lf",&p[i].a,&p[i].b,&p[i].rate);
        p[i].k=-p[i].a/p[i].b;
        p[i].w=i;
    }
    sort(p+1,p+1+n,cmp);
    solve(1,n);
    printf("%.3lf\n",f[n]);
}

以上是关于这道题能解释一下吗?的主要内容,如果未能解决你的问题,请参考以下文章

2.4模拟赛

GO哥猜谜国际服玩家回归国服,这道题你会答吗?

从浏览器地址栏输入网址,到网页彻底打开,中间都发生了什么?

结构体内存对齐具体解释

SPOJ Hacking(字典树 + 搜索)题解

刷题之路--判断数字是否回文