The Romantic Hero

题目链接

  • 题意:
    n个数,找到两个下标i和j(i < j),在1-i中选取若干个数的异或值等于在j-n中选取若干个数的按位与值,两个集合都非空,求满足条件的集合数有多少
  • 分析:
    对于一个i,如果知道左边所有的取值情况和右边所有的取值情况,乘机就是一部分答案,那么就是DP预处理出一侧的值的情况。
    重点思考一下DP的状态表示:DP[i][j]表示以i位置数字为结尾、操作值为j的情况数,这里的情况是表示任意个数字可以组合出的和为j的情况数,如果不表示以i为结尾,那么就会出现重复。
    为什么这样DP不会出现重复呢,从两个方面来像:对于dp[x][]和dp[y][],因为这两个状态的最大值不相同,所以数列不会相同,也就是说DP所表示的状态没有重叠;对于一个序列,它的计算结果只有一种,所以只属于dp[x][]的某一个状态,也不会重复(假如一个序列可以得到多个计算结果,那么就不能这样DP了,因为一个确定的序列可以属于多个状态)。

const int MAXN = 1024;

int ipt[MAXN];
LL dp1[MAXN][MAXN], dp2[MAXN][MAXN], sum1[MAXN][MAXN], sum2[MAXN][MAXN];

int main()
{
    int T, n;
    RI(T);
    FE(kase, 1, T)
    {
        CLR(dp1, 0); CLR(sum1, 0);
        CLR(dp2, 0); CLR(sum2, 0);
        RI(n);
        REP(i, n)
            RI(ipt[i]);
        dp1[0][ipt[0]] = sum1[0][ipt[0]] = 1;
        FF(i, 1, n)
        {
            REP(j, MAXN)
                dp1[i][j ^ ipt[i]] = (sum1[i - 1][j] + dp1[i][j ^ ipt[i]]) % MOD;
            dp1[i][ipt[i]]++;
            REP(j, MAXN)
                sum1[i][j] = (sum1[i - 1][j] + dp1[i][j]) % MOD;
        }
        dp2[n - 1][ipt[n - 1]] = sum2[n - 1][ipt[n - 1]] = 1;
        FED(i, n - 2, 0)
        {
            REP(j, MAXN)
                dp2[i][j & ipt[i]] = (sum2[i + 1][j] + dp2[i][j & ipt[i]]) % MOD;
            dp2[i][ipt[i]]++;
            REP(j, MAXN)
                sum2[i][j] = (sum2[i + 1][j] + dp2[i][j]) % MOD;
        }
        LL ans = 0;
        REP(i, n - 1)
            REP(j, MAXN)
                ans = (ans + dp1[i][j] * sum2[i + 1][j]) % MOD;
        cout << ans << endl;
    }
    return 0;
}


对于寻找与杭州电子科技大学(HDU)相关的浪漫话题或活动的兴趣,这里有一些可能的方向来探索校园内的浪漫元素或是参与其中的社团和活动。 1. 校园爱情故事分享会 一些大学会有学生自发组织的爱情故事分享会,在这样的活动中,情侣们可以讲述自己的恋爱经历,这不仅能够促进感情交流,还能给其他同学带来温暖和启发。虽然没有直接证据表明HDU有这样的固定活动,但有兴趣的学生可以通过学校的BBS论坛或者社交媒体群组发起类似的聚会。 2. 参加艺术类社团 加入摄影社、绘画俱乐部等艺术性质的社团,这些地方往往充满了创意和个人表达的机会,非常适合追求浪漫氛围的人士。成员之间可能会共同策划展览、户外写生活动或者其他富有诗意的艺术项目。可以在HDU的官方网页上查找最新的社团列表以及如何加入的方法。 3. 观看露天电影之夜 许多高校会在特定季节举办室外放映影片的夜晚,选择经典爱情片作为播放内容之一,营造出温馨而浪漫的情境。关注校方公告板或者是通过微信公众号获取有关此类特别事件的通知。 4. 星空观测小组 如果对天文学感兴趣的话,不妨考虑参加一个天文爱好者团体。在晴朗无云的晚上一起仰望星空,探讨宇宙奥秘的同时也享受着宁静美好的时光。这类兴趣小组通常也会定期举行观星旅行等活动。 为了获得最准确的信息,建议访问杭州电子科技大学官方网站上的“团委”页面查看最新发布的通知;也可以联系在校生询问他们所知道的各种非正式渠道,比如微信群聊或其他即时通讯平台上的讨论群。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值