zoukankan      html  css  js  c++  java
  • F.Function!

    #include <bits/stdc++.h>
    #pragma GCC optimize(3 , "Ofast" , "inline")
    using namespace std;
    typedef long long ll ;
    const int INF = 0x3f3f3f3f , N = 1e5 + 10 ;
    const int mod = 998244353 ; 
    void read(ll &x)
    {
    	x = 0 ;
    	char c = getchar() ;
    	while(!isdigit(c)) c = getchar() ;
    	while(isdigit(c)) x = x * 10 + c - 48 , c = getchar() ;
    }
    ll qmi(ll a , ll b)
    {
    	ll res = 1; 
    	while(b)
    	{
    		if(b & 1) res = res * a % mod ;
    		a = a * a % mod ;
    		b >>= 1 ;
    	}
    	return res ;
    }
    ll get(ll x)
    {
    	x %= mod ;
    	return x % mod * (x + 1) % mod * (2 * x + 1) % mod * qmi(6 , mod - 2) % mod ;
    }
    int main()
    {
        ll n ;
        read(n) ;
        ll ans = 0 ;
        for(ll i = 2 ; i <= n ;i ++)
         {
         	ll res = 1 ;
         	if(i * i > n)
         	 {
         	 	ll q = n % mod ;
         	 	n %= mod ;
         	 	ans = (ans + (n + 1) % mod * (n + i) % mod * (n - i % mod + 1 + mod) % mod * qmi(2 , mod - 2) % mod ) % mod;
         	 //	ans = (ans + (n + 1) % mod * (i + n) % mod * (n - i % mod + 1 + mod) % mod * qmi(2 , mod - 2) % mod ) % mod;
    			ans = (ans - (get(n) - get(i - 1) + 10ll * mod) % mod + 10ll * mod) % mod  ;
         	 	break ;
    		 }
    		 else 
    		  {
    		  	for(ll l = i , temp = 0  ;l <= n ;l = res , temp ++ ) 
    		  	 {
    		  	 	res *= i ;
    		  	 	if(res > n)
    		  	 	{
    		  	 		ans = (ans + i % mod * temp  % mod * (n % mod - l + 1 + mod) % mod) % mod ;
    		  	 		break ;
    				}
    		  	 	else 
    		  	 	 {
    		  	 	   ans = (ans + i % mod * temp % mod * (res % mod - l + mod) % mod) % mod ;	
    				 }
    			 }
    		  }
    	 }
    	 cout << ans << endl ;
    	return 0 ;
    }
    
    
    每次做题提醒自己:题目到底有没有读懂,有没有分析彻底、算法够不够贪心、暴力够不够优雅。
  • 相关阅读:
    HDU2059(龟兔赛跑)
    pat 1012 The Best Rank
    pat 1010 Radix
    pat 1007 Maximum Subsequence Sum
    pat 1005 Sign In and Sign Out
    pat 1005 Spell It Right
    pat 1004 Counting Leaves
    1003 Emergency
    第7章 输入/输出系统
    第六章 总线
  • 原文地址:https://www.cnblogs.com/spnooyseed/p/12870865.html
Copyright © 2011-2022 走看看