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 ;
    }
    
    
    每次做题提醒自己:题目到底有没有读懂,有没有分析彻底、算法够不够贪心、暴力够不够优雅。
  • 相关阅读:
    python matplotlib 绘图
    python set add 导致问题 TypeError: unhashable type: 'list'
    python 子类继承父类的__init__方法
    python 内存监控模块之memory_profiler
    git log 常用命令
    wireshark使用教程
    python os.path模块
    Linux crontab 定时任务
    linux环境变量LD_LIBRARY_PATH
    Linux的ldconfig和ldd用法
  • 原文地址:https://www.cnblogs.com/spnooyseed/p/12870865.html
Copyright © 2011-2022 走看看