上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 67 下一页
摘要: 罗马数字由 7 个不同的单字母符号组成,每个符号对应一个具体的数值。此外,减法规则(如问题描述中所述)给出了额外的 6 个复合符号。这给了我们总共 13 个独特的符号(每个符号由 1 个或 2 个字母组成),如下图所示。 我们用来确定罗马数字的规则是:对于罗马数字从左到右的每一位,选择尽可能大的符号 阅读全文
posted @ 2021-06-04 12:01 Dazzling! 阅读(63) 评论(0) 推荐(0)
摘要: 双指针维护长度为$k$的区间内未选的数的和的最大值,之后再加上可选的数即可。 const int N=1e5+10; PII a[N]; int n,k; int main() { cin>>n>>k; for(int i=0;i<n;i++) cin>>a[i].fi; for(int i=0;i 阅读全文
posted @ 2021-06-04 10:59 Dazzling! 阅读(89) 评论(0) 推荐(0)
摘要: 双指针模板题。 string s; bool check(int cnt[]) { for(int i=1;i<=3;i++) if(cnt[i] == 0) return false; return true; } int main() { int T; cin>>T; while(T--) { 阅读全文
posted @ 2021-06-03 23:58 Dazzling! 阅读(30) 评论(0) 推荐(0)
摘要: 暴力思路,不断累加当前数,判断是否为循环数: 每个数字位均不同 数字位不能有$0$ 在所有数字上均停留一次后,回到出发点(最左边的数字),即每个数字位只能访问一次 bool used[10]; // 标记数字是否已使用 bool vis[10]; // 标记下标是否已访问 int m; bool i 阅读全文
posted @ 2021-06-03 16:58 Dazzling! 阅读(131) 评论(0) 推荐(0)
摘要: 解法一:01背包 $1 \sim n$的总和$sum=\frac{n(n+1)}{2}$,若将整数集合$1 \sim n$划分成两个和相等的子集,则子集的和$sum'=\frac{n(n+1)}{4}$。 问题转化为$1 \sim n$中选出若干个数,总和为$sum'$的方案数。 const int 阅读全文
posted @ 2021-06-02 16:17 Dazzling! 阅读(139) 评论(0) 推荐(0)
摘要: 在$0 \sim 2^-1$中,从小到大搜索出$n$个满足任意两个编码之间码距大于等于$d$的二进制编码。 const int N=70; int path[N]; int n,b,d; bool dfs(int u,int start) { if(u == n) { for(int i=0;i<n 阅读全文
posted @ 2021-06-01 19:21 Dazzling! 阅读(53) 评论(0) 推荐(0)
摘要: 水题。 struct Fraction { int up,down; bool operator<(const Fraction &W) const { return up * W.down < W.up * down; } }; vector<Fraction> res; int n; int m 阅读全文
posted @ 2021-05-31 19:49 Dazzling! 阅读(58) 评论(0) 推荐(0)
摘要: 贪心。 对于第$i$个数字,若其不在应在位置,则在$[i+1 \sim n]$中寻找恰好存在与第$i$个数错位的数,交换两个位置上的数;若不存在恰好错位的数,则选择与第$i$个数相等且不在应在位置的数交换。 const int N=1010; int a[N],b[N]; int cnt[4]; i 阅读全文
posted @ 2021-05-31 19:23 Dazzling! 阅读(47) 评论(0) 推荐(0)
摘要: 暴搜水题~ 。 const int N=30; int need[N]; int feed[20][N]; int res[N]; vector<int> path,ans; int n,m; bool check() { for(int i=1;i<=n;i++) if(res[i] < need 阅读全文
posted @ 2021-05-31 10:02 Dazzling! 阅读(23) 评论(0) 推荐(0)
摘要: 3577. 选择数字 签到。 int main() { cin>>n; for(int i=0;i<n;i++) cin>>a[i],vis[a[i]]=true; cin>>m; for(int i=0;i<m;i++) cin>>b[i],vis[b[i]]=true; for(int i=0; 阅读全文
posted @ 2021-05-30 23:51 Dazzling! 阅读(27) 评论(0) 推荐(0)
上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 67 下一页