这题除了有个细节都蛮简单(我卡了几个小时…)求(a,b)(a,b)(a,b)的对数可以直接dp[len][q][w]dp[len][q][w]dp[len][q][w]表示a&ba\&ba&b是否大于C以及a⊕ba\oplus ba⊕
原创 2022-02-10 14:45:14
15阅读
这题除了有个细节都蛮简单(我卡了几个小时…)求(a,b)(a,b)(a,b)的对数可以直接dp[len][q][w]dp[len][q][w]dp[len][q][w]表示a&ba\&ba&b是否大于C以及a⊕ba\oplus ba⊕b是否小于CCC这样就枚举DP枚举过程中有三种状态0表示目前无法确定大小关系0表示目前无法确定大小关系0表示目前无法确定大小关系1表示已经满足1表示已经满足1表示已经满足2表示再也无法满足2表示再也无法满足2表示再也无法满足我开始没有考虑
原创 2021-08-26 16:03:12
66阅读
A 队友写的。 //#pragma comment(linker, "/stack:200000000") //#pragma GCC optimize("Ofast,no-stack-protector") //#pragma GCC target("sse,sse2,sse3,ssse3,sse
转载 2018-08-10 08:54:00
89阅读
2评论
可以发现,要让答案答案大,那么c的次数,也就是分解的次数,那么将某个n按照因数分解,c的因数的个数次就是答案了。#include<iostream>using namespace std;typedef long long ll;const int mod=1e9+7;ll qmi(int a,int b){ ll res=1; while(b) { if(b&1) res=res*a%mod; b>>=1; a=(ll)a*a%mod;.
原创 2021-07-09 14:07:39
160阅读
D 签到题 //#pragma comment(linker, "/stack:200000000") //#pragma GCC optimize("Ofast,no-stack-protector") //#pragma GCC target("sse,sse2,sse3,ssse3,sse4,
转载 2018-08-05 16:28:00
78阅读
2评论
大致题意:告诉你范围A和B,让你求在两个范围内,有多少对数字可以使得二者按位与大于C或者异或小于C。一个比较常规的数位dp,然而比赛的时候由于自己复杂度计算错误,还写了好久的优化,最后发现不优化也能过。我们令dp[len][x][y][lim1][lim2]表示在二进制下,当前长度为len的时候,第一个条件的状态为x,第二个条件状态为j,第一个数字的限制情况为lim1,...
原创 2022-08-25 10:47:50
22阅读
| 题目 |A|B|C|D|E|F|G|H|I|J|K| |: :|: :|: :|: :|: :|: :|: :|: :|: :|: :|: :|: :| | "第一场" |||||||||||\\| | "第二场" |||||||||||\\| | "第三场" |||||||||||\\| |
原创 2022-11-03 15:23:24
50阅读
J 题意:给你一个hash表,让你给出一个字典序最小的输入。 思路:按数字大小从小到大插入,用链表和bit维护过程。 #include<bits/stdc++.h> #define LL long long #define fi first #define se second #define mk
转载 2018-07-29 17:02:00
59阅读
2评论
Hash Function 题意 给一个数列长度为$n$的数列$a$,找一个最小的$seed$,使得数列$a$中所有数模$seed$后的值全都不一样。 题解 若数字$x$,$y$模$seed$后的值一样,假设$x>y$,那么必定存在整数$k$,使得$y-x=k\times seed$。 所以,我们要 ...
转载 2021-07-19 12:03:00
77阅读
2评论
wa了好多次呢我,嘻嘻,按照四边形的性质,对角线的之和肯定大于两对边之和,所以就能判断了。代码:#include<iostream>using namespace std;int main(){ int t; cin>>t; while(t--) { int ac,ad,bc,bd; cin >> ac >> ad >> bc >> bd; if(ad+bc>ac+bd) { cout&l.
原创 2021-07-09 14:07:40
56阅读
using namespace std; #define ll long long #define M 9...
原创 2022-06-16 00:31:19
49阅读
1.题面: 题意十分解明了。仔细观察这个式子,可以发现这个式子就是韦达定理。我们构造一个模意义下的二次函数,然后在这个模意义下解一下这
原创 2022-07-01 10:52:03
57阅读
1.题目链接。题目大意:给定n,m。你可以在平面上选择一个任意大的k*k的矩阵,然后矩阵中的每一个格子上放置一定数量的玻璃球
原创 2022-07-01 11:12:09
62阅读
题目 求所有子区间中不同元素之和。 分析 枚举相邻的相同数字形成的区间,计算它是哪些区间的子区间,每次有-1的贡献,将其从总贡献中减去。 这里遍历了两遍,队友写的只遍历一遍,更加简短。https://ac.nowcoder.com/acm/contest/view-submission?submis
转载 2019-08-10 21:39:00
25阅读
2评论
#include <bits/stdc++.h> using namespace std; #define eps 1e-8 struct node { do...
原创 2022-06-16 00:30:44
42阅读
//(1,i)|(b[j]>a[i]) 代表[1,n]内有多少b[j]大于a[i...
原创 2022-06-16 00:31:08
39阅读
​​https://www.nowcoder.com/acm/contest/143/H​​首先数据有毒 不止1e5题目要求下标字典序第k小的LIS 既然是以下标决定字典序 那就维护一个dp[i]代表以a[i]为首项的所有LIS个数 这个可以提前线段树之类的搞出来为求第k小 故i从最小的下标1开始遍历 如果dp[i]<k 说明当前这个下标太小了不合要求 k减去dp[i] 如果以a[
原创 2022-06-16 00:31:39
26阅读
题目连接今天来复习数位dp,补了这个题我发现是才理解数位dp。。直接统计合法的剪枝的次数比统计不合法的少,那么定义dp[pos][s1][s2][l1][l2]表示不合法的对数,再把zero的状态去掉(也就是x,y不能选0),那么现在统计了x,y为0的不合法的数量;(1)当x = 0,y属于[C,B]时不合法(2)当y = 0,x属于[C,A]时不合法,减去这部分即可统计(x&a...
原创 2021-09-06 14:11:49
46阅读
1.题目链接。题目大意:某人要从起点1跳到终点L,这中间有1,2,3..L这个L个点。每次跳的距离大于等于d个点。然而有些点比较特殊,
原创 2022-07-01 10:52:15
56阅读
大致题意:告诉你一个n和m,让你求。涉及到位运算的东西,很容易想到计算贡献,这里也是一样。因为最后按位与的是
  • 1
  • 2
  • 3
  • 4
  • 5