zoukankan      html  css  js  c++  java
  • Codeforces Round #701 (Div. 2)

    Codeforces Round #701 (Div. 2)之心态爆炸

    B - Replace and Keep Sorted

    题意:
    思路:因为都是前一个和后一个有关系,就得先记录贡献才行,没考虑到问的(l = r)被×祭
    代码:

    #include <iostream>
     
    using namespace std;
    typedef long long ll;
    const ll maxn = 1e9 + 7;
    const double eps = 1e-6;
    const ll N = 1e5 + 999;
    ll a[N];
    ll sum[N];
    void solve() {
    	ll n, q, k;cin >> n >> q >> k;
    	for (ll i = 1; i <= n; i++) 
    		cin >> a[i];
    	
    	for (ll i = 2; i < n; i++) {
    		sum[i] = sum[i-1]  - a[i-1] - 1 + a[i + 1]  - 1;
    	}
    	while (q--) {
    		ll l, r;cin >> l >> r;
    		ll ans = sum[r-1] - sum[l];
    		if (r == l)ans = k-1;
    		else 
    		ans += -1 + a[l + 1]-1 + k -a[r-1]-1;
    		cout << ans << endl;
    	}
    }
    signed main() {
    	ll t = 1;//cin >> t;
    	while (t--)
    	solve();	
    }
    

    D - Multiples and Power Differences

    题意:
    思路:猜到了是一列对角线是(lcm(1, 2, 3, cdots , 16)-x^4),一列是(lcm(1, 2, 3, cdots , 16)),然后因为循环时吧(k)写成(i)当场身亡。
    代码:

    #include <iostream>
     
    using namespace std;
    typedef long long ll;
    const ll maxn = 1e9 + 7;
    const double eps = 1e-6;
    const ll N = 700;
    ll a[N][N];
    ll b[N][N];
    ll f[167];
    const ll NN = 720720;
    void solve() {
    	ll n, m;cin >> n >> m;
    	for (ll i = 1; i <= n; i++) {
    		for (ll j = 1; j <= m; j++) {
    			cin >> a[i][j];
    		}
    	}
    	for (ll  i = 1;i <= n; i++) {
    		for (ll j = 1; j <= m; j++) {
    			if ((i + j) % 2 == 1) {
    				b[i][j] = NN;
    			}else {
    				for (ll k = 1; k <= 16; k++) {//k能写成i我是没想到的
    					ll x = (k * k * k * k);
    					if ( (NN-x) % a[i][j] == 0 && NN-x > 0) {
    						b[i][j] = NN-x;
    						break;
    					}
    				}
    			}
    			cout << b[i][j] << " ";
    		}
    		cout << endl;
    	}
    }
    signed main() {
    	ll t = 1;//cin >> t;
    	while (t--)
    	solve();	
    }
    

    总结:

    1. 注意在前缀和时,用到了类似前缀和的数组,要判断询问是否(l = r),很重要。

    2. 注意在写代码时,不要用重复的变量名字。

  • 相关阅读:
    HDU_1709 The Balence (生成函数)
    Ural_1003 Parity(并查集)
    HDU_1171 Big Event in HDU(生成函数)
    Ural_1306. Sequence Median(堆)
    POJ_2823 Sliding Window(单调队列)
    HDU_2065 "红色病毒"问题(指数型生成函数)
    HDU_2082 找单词 (生成函数)
    最长上升子序列问题(LCS)
    HDU_1284 钱币兑换问题(生成函数)
    HDU_2152 Fruit(生成函数)
  • 原文地址:https://www.cnblogs.com/Xiao-yan/p/14399688.html
Copyright © 2011-2022 走看看