• 【NOIP2018pj】题解


    【NOIP2018pj】题解

    (T1)

    题面

    洛谷

    题解

    好像并没有什么好说的。。。

    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cstring> 
    #include <cmath>
    #include <algorithm>
    #include <string> 
    using namespace std;
    string s;
    int main () {
    	getline(cin, s);
    	int ans = 0; 
    	for (int i = 0, l = s.size(); i < l; i++) {
    		if (isdigit(s[i]) || ('a' <= s[i] && s[i] <= 'z') || ('A' <= s[i] && s[i] <= 'Z')) ans++; 
    	}
    	printf("%d
    ", ans); 
    	return 0; 
    } 
    

    (T2)

    题面

    洛谷

    题解

    先把每一边贡献算出来再扫一遍即可

    #include<iostream>
    #include<cstdio>
    #include<cstdlib>
    #include<cstring> 
    #include<cmath>
    #include<algorithm>
    using namespace std;
    inline int gi() {
    	register int data = 0, w = 1; 
    	register char ch = 0;
    	while (ch != '-' && !isdigit(ch)) ch = getchar();
    	if (ch == '-') w = -1, ch = getchar();
    	while (isdigit(ch)) data = 10 * data + ch - '0', ch = getchar(); 
    	return data * w; 
    }
    #define MAX_N 100005
    int N, a[MAX_N]; 
    int m, p1, s1, s2; 
    typedef long long ll;
    ll Left = 0, Right = 0, dlt = 0; 
    int ans = 0; 
    int main () {
    	N = gi(); 
    	for (int i = 1; i <= N; i++) a[i] = gi(); 
    	m = gi(), p1 = gi(), s1 = gi(), s2 = gi(); 
    	a[p1] += s1; 
    	for (int i = 1; i < m; i++) Left += 1ll * a[i] * (m - i); 
    	for (int i= m + 1; i <= N; i++) Right += 1ll * a[i] * (i - m);
    	ans = m; dlt = abs(Left - Right);
    	for (int i = 1; i < m; i++) {
    		ll res = abs(Left + 1ll * s2 * (m - i) - Right);
    		if (res < dlt) ans = i, dlt = res;
    		else if (res == dlt) ans = min(i, ans); 
    	}
    	for (int i = m + 1; i <= N; i++) {
    		ll res = abs(Right + 1ll * s2 * (i - m) - Left);
    		if (res < dlt) ans = i, dlt = res;
    		else if (res == dlt) ans = min(i, ans); 
    	}
    	printf("%d
    ", ans); 
    	return 0; 
    } 
    

    (T3)

    这里

    (T4)

    这里

  • 相关阅读:
    Java编程的逻辑 (42)
    Java编程的逻辑 (41)
    Java编程的逻辑 (40)
    Java编程的逻辑 (39)
    Java编程的逻辑 (38)
    Java编程的逻辑 (37)
    Java编程的逻辑 (36)
    Java编程的逻辑 (35)
    Java编程的逻辑 (31)
    web前端学习(二)html学习笔记部分(6)--fileAPI
  • 原文地址:https://www.cnblogs.com/heyujun/p/10050610.html
Copyright © 2020-2023  润新知