zoukankan      html  css  js  c++  java
  • 考试总结 模拟60

    T1

    再不会,也有能拿的分,心态!!状态!!T2的式子要考虑推一下不能弃掉T3看错题了!!

    可以说是三道原题

    T1约瑟夫问题

    f[i]=(f[i-1]+m)%i  cout<<f[n]+1;

    这里可以打表找规律从数学角度优化成$log$级别的

     1 #include <iostream>
     2 #include <cstring>
     3 #include <cstdio>
     4  
     5 using namespace std;
     6  
     7 int m,n;
     8 int main(){
     9     int T;
    10     for(cin>>T;T;T--){
    11         scanf("%d%d",&n,&m);
    12         int id=0;
    13         if(n>m){
    14             for(int i=1;i<=m;i++)
    15                 id=(id+m)%i;
    16             for(int i=m+1;i<=n;i++){
    17                 id=(id+m)%i;
    18                 int jumpl=(i-id)/(m-1);
    19                 if(i+jumpl<=n){
    20                     id=(id+jumpl*m)%(i+jumpl);
    21                     i+=jumpl;
    22                 }
    23                 else{
    24                     id=id+(n-i)*m;
    25                     break;
    26                 }
    27             }
    28         }else{
    29             id=0;
    30             for(int i=1;i<=n;i++)
    31                 id=(id+m)%i;
    32         }
    33         printf("%d
    ",id+1);
    34     }
    35 }
    Miemeng

    T2「树状数组」

     T3「线性DP」「最长公共上升子序列」

    这是lyd上原题P264

    把两个dp结合真的很神

    愿你在迷茫时,记起自己的珍贵。
  • 相关阅读:
    UVa 11389
    uva 1418
    uva 10905 Children's Game
    uva 471
    UVA 1508
    Uva120 Stacks of Flapjacks
    UVA 10020 Minimal coverage
    UVA434
    UVa 311
    决策树算法
  • 原文地址:https://www.cnblogs.com/casun547/p/11625355.html
Copyright © 2011-2022 走看看