全部评论 6


  • 333个吗,那ACGO是真的蒸蒸日上了

    1周前 来自 上海

    0
  • 《qzh》这个是前缀和
    《pzh》这个是什么?

    2025-10-08 来自 天津

    0
    • 攀枝花市,四川省辖地级市,别称渡口、钢城,地处中国西南川滇结合部,位于四川省最南端,东、北面与四川省凉山彝族自治州的会理、德昌、盐源3县接壤,西、南面与云南省的宁蒗、华坪、永仁3县交界,地处攀西裂谷中南段,属浸蚀、剥蚀中山丘陵、山原峡谷地貌,夏季长,四季不分明,而旱、雨季分明,全市总面积7440平方千米。截至2022年10月,全市辖3个区、2个县。2023年末,攀枝花市户籍总人口106.65万人,常住人口121.8万人。 [62]

      2025-10-08 来自 广东

      0
    • 很显然,p是反着的q,所以是后缀和(

      2025-10-08 来自 广东

      0
    • o~~~好有道理(不愧是dalao%%%

      2025-10-08 来自 天津

      0
  • s b数组名

    2025-10-08 来自 浙江

    0
    • 在代码中使用 qzhpzh 作为前缀和与后缀和的变量名,这是一种基于拼音的命名约定。让我详细分析这种命名的意义和背后的考量:

      命名来源分析

      qzh = 缀和 (Qián zhuì hé)

      • 前 (qián) → q
      • 缀 (zhuì) → z
      • 和 (hé) → h

      pzh = 缀和 (Hòu zhuì hé)

      • 后 (hòu) → p(这里需要注意:汉语拼音中"后"的声母是h,但可能是为了避免与"和"的h重复,选择了p)

      这种命名的意义

      优点:

      1. 简洁性:相比完整的英文单词,拼音缩写更短

        // 对比示例
        vector<int> prefixSum;  // 英文全称
        vector<int> qzh;        // 拼音缩写
        
      2. 中文思维友好:对于中文母语的开发者更直观

      3. 代码紧凑:在算法竞赛中很常见,节省打字时间

      缺点:

      1. 可读性降低:非中文背景的开发者难以理解
      2. 容易混淆pzh中的p与"后"的拼音不对应,可能造成混淆
      3. 维护困难:在团队协作或长期维护时可能存在问题

      实际应用示例

      // 前缀和与后缀和计算
      vector<int> arr = {1, 2, 3, 4, 5};
      int n = arr.size();
      
      // 前缀和 qzh
      vector<int> qzh(n + 1, 0);
      for (int i = 0; i < n; i++) {
          qzh[i + 1] = qzh[i] + arr[i];
      }
      
      // 后缀和 pzh  
      vector<int> pzh(n + 1, 0);
      for (int i = n - 1; i >= 0; i--) {
          pzh[i] = pzh[i + 1] + arr[i];
      }
      

      更好的命名实践

      对于生产环境代码,建议使用更清晰的命名:

      // 推荐命名方式
      vector<int> prefixSum;  // 前缀和
      vector<int> suffixSum;  // 后缀和
      
      // 或者更简洁但仍清晰的
      vector<int> preSum;     // 前缀和
      vector<int> sufSum;     // 后缀和
      

      总结

      使用 qzhpzh 主要体现了:

      • 算法竞赛文化的影响
      • 中文编程习惯的体现
      • 编码效率的考量

      但在实际工程项目中,建议权衡可读性与简洁性,选择更适合团队协作的命名约定。

      2025-10-08 来自 广东

      2
  • 你是帅童还是dream还是ppl

    2025-10-08 来自 上海

    0
  • 你的代码和我的好像

    #include<bits/stdc++.h>
    using namespace std;
    #define int long long
    #define endl '\n'
    int t,n,m,a[200009];
    signed main(){
        ios::sync_with_stdio(false);
    	cin.tie(0),cout.tie(0);
        cin>>t;
        while(t--){
            cin>>n>>m;
            for(int i=1;i<=n;i++){
                string s;
                cin>>s;
                int cnt=0;
                for(auto p:s)
                    cnt|=(1<<(p-'a'));
                a[i]=cnt;
            }
            int ans=0,u=0;
            for(int i=1;i<=n;i++){
                int z=a[i]&(~u);
                int te=__builtin_popcount(u);
                if(z!=0)
                    ans+=(1<<te)-1;
                else
                    ans+=(1<<te)-2;
                u|=a[i];
            }
            cout<<ans<<endl;
        }
        return 0;
    }
    

    2025-10-08 来自 上海

    0
  • d

    2025-10-07 来自 广东

    0

热门讨论