zoukankan      html  css  js  c++  java
  • 【CF1015D】Walking Between Houses(构造,贪心)

    题意:从1开始走,最多走到n,走k步,总长度为n,不能停留在原地,不能走出1-n,问是否有一组方案,若有则输出

    n<=1e9,k<=2e5,s<=1e18

    思路:无解的情况分为两种:总长度太大,步数太多

    每次贪心从1走到n或从n走到1,但要注意给剩下的步数留出空间

     1 #include<cstdio>
     2 #include<cstring>
     3 #include<string>
     4 #include<cmath>
     5 #include<iostream>
     6 #include<algorithm>
     7 #include<map>
     8 #include<set>
     9 #include<queue>
    10 #include<vector>
    11 using namespace std;
    12 typedef long long ll;
    13 typedef unsigned int uint;
    14 typedef unsigned long long ull;
    15 typedef pair<int,int> PII;
    16 typedef vector<int> VI;
    17 #define fi first
    18 #define se second 
    19 #define MP make_pair
    20 #define N  100010
    21 #define M  200
    22 #define MOD 998244353
    23 #define eps 1e-8 
    24 #define pi acos(-1)
    25 
    26 
    27 
    28 int main()
    29 {
    30     //freopen("D.in","r",stdin);
    31     //freopen("D.out","w",stdout);
    32     ll n,k,s;
    33     scanf("%lld%lld%lld",&n,&k,&s);
    34     ll now=1;
    35     if(k>s||k*(n-1)<s)
    36     {
    37         printf("NO
    ");
    38         return 0;
    39     }
    40     printf("YES
    ");
    41     while(k)
    42     {
    43         ll t=min(n-1,s-(k-1));
    44         if(now-t>0) now-=t;
    45          else now+=t;
    46         printf("%lld ",now);
    47         s-=t;
    48         k--;
    49     }
    50      return 0;
    51 }
  • 相关阅读:

    jQuery post使用变量作参数名
    线性结构____二叉堆
    Java虚拟机
    spring在线生成
    树形结构_红黑树:平衡2X 哈夫曼树:最优2X
    线性结构____双链表/栈/队列
    Java中的String,StringBuilder,StringBuffer三者的区别
    JPress的CMS系统在Window下的部署和使用
    List之contains方法
  • 原文地址:https://www.cnblogs.com/myx12345/p/9852909.html
Copyright © 2011-2022 走看看