csp-s模拟46 set read race】的更多相关文章

题面:https://www.cnblogs.com/Juve/articles/11556809.html Set: 题干中说的M个数两两不同是说不能重复选同一个位置的数,而不是不能选数值相同的数,所以不用取重 题目中说是子集,其实连续的序列中就有答案 我们处理出mod N下的前缀和,如果有两个前缀和相同,那么选这两个前缀和中间的数即可,因为减完之后余数为0 这样一定能保证正确吗?或者一定存在两个前缀和相等的情况吗? 在mod N先前缀和最多有0-N-1这N种取值,但是一共有N+1个前缀和(s…
给了签到题,但除了签到题其他的什么也不会.... T1 数数 人均$AC$,没什么好说的,就是排个序,然后双指针交换着往中间移 1 #include<bits/stdc++.h> 2 #define int long long 3 using namespace std; 4 const int NN=3e5+5; 5 int n,a[NN],ans[NN],id[NN],cha[NN]; 6 inline bool cmp(int a,int b){return a>b;} 7 inl…
神仙题. 首先不考虑把黑点变白,发现每个白点的信息与它的归属点是相同的.可以在线段树中只维护黑点的信息,再记录$DFS$序上每个点之前黑点个数的前缀和,每次操作可以二分出该点的归属点进行操作. 具体维护黑点管辖点的个数与它的权值,及前两者乘积之和.一些其他的点数可以通过子树大小减管辖点总和得到.两个修改操作直接线段树上修改即可. 再考虑黑点变白的情况.每次把黑点变白后,它管辖点的归属点改变,但权值不变,可以在线段树中记录下当前点真实权值与它归属点权值的差,删点时做子树加,每次询问用归属点的权值加…
勿忘国耻. 由于重新评测我看到了不是很真实的一幕 紧接着是更不真实的一幕 就在虚假形象快要建立完成的时候 它由于来自东方的神秘力量倒塌了 被两个学校的大佬爆踩了(捂脸 T1 无脑背包? 考试时想1h想到吐血 想不到什么比(除)$n^2$更(背包)优(之外)的算法了 真是深陷套路无法自拔啊 没有好好在对$n$取模上做突破 另外我也一直不清楚前缀和可以有$n+1$个位置,能怪谁啊$qwq$ T2 无脑求众数? 康了眼内存,16MB 好像只能开个4e6的样子.. 开始考虑开数组骗分 为什么毒瘤出题人不…
T1 数数 解题思路 大概是一个签到题的感觉...(但是 pyt 并没有签上) 第一题当然可以找规律,但是咱们还是老老实实搞正解吧... 先从小到大拍个序,这样可以保证 \(a_l<a_r\) 直接去掉绝对值. 然后就可以推出如下柿子: \[\displaystyle\sum_{l=1}^{k}-a_l\times(k-l)+\sum_{r=2}^{k}a_r\times a_r(r-1) \] \[\displaystyle\sum_{i=1}^{k}a_i\times (2\times i-…
A. 数数 排好序从两头贪心即可 B. 数树 首先很容易想到容斥 如果选择的边集的相关点集有点的度数大于 \(1\) 是不合法的 也就是说一定形成若干条长度不一的链 要给这些链上的点安排排列中的数,方案数其实就是 \((n-k)!\) 因为一条链开头的值确定了整条链的值就确定了 发现暴力算是 \(2^n\),考虑选择边集数量一定时贡献是否可以一起算 树形背包即可,算出以 \(1\) 为根的子树内选 \(k\) 条边的方案数 由于入度出度不超过 \(1\) 的限制,\(dp\) 加两维 \(0/1…
脑袋确实是不好使了需要回家暴颓治疗 数数数树鼠树 真好玩. 数数 大水题一个,妥妥的签到题目,然后... 我没签上 气展了!!! 其实我还是想麻烦了. 就是我们实际上就是排序之后每一次找头上和尾巴上的就行 #include<bits/stdc++.h> using std::cout; using std::endl; #define try(i,a,b) for(register signed i=a;i<=b;++i) #define throw(i,a,b) for(registe…
多线程案例:龟兔赛跑-Race 前置条件: 首先来个赛道距离,然后要离终点越来越近 判断比赛是否结束 打印出胜利者 龟兔赛跑开始 故事中是乌龟赢了,兔子需要睡觉,所以我们来模拟兔子睡觉 乌龟赢得比赛 代码: package multithreading; // 模拟龟兔赛跑 public class Race implements Runnable { // 胜利者 private static String winner; @Override public void run() { for (…
一.并发的定义 并发:对于这个概念一直就是没怎么搞懂,就是感觉特别的生疏,(自己从从字面上理解就是多个东西,一起出发),所以就上网上查了一些资料: 同时拥有两个或多个线程,如果程序在单核处理器上运行,多个线程将交替地换入或者换出内存,这些线程是同时"存在"的,每个线程都处于执行过程中的某个状态,如果运行在多核处理器上,此时,程序中的每个线程都将分配到一个处理器核上,因此可以同时运行. 高并发(High Concurrency): 是互联网分布式系统架构设计中必须考虑的因素之一,它通常是…
一.并发的定义 并发:对于这个概念一直就是没怎么搞懂,就是感觉特别的生疏,(自己从从字面上理解就是多个东西,一起出发),所以就上网上查了一些资料: 同时拥有两个或多个线程,如果程序在单核处理器上运行,多个线程将交替地换入或者换出内存,这些线程是同时"存在"的,每个线程都处于执行过程中的某个状态,如果运行在多核处理器上,此时,程序中的每个线程都将分配到一个处理器核上,因此可以同时运行. 高并发(High Concurrency): 是互联网分布式系统架构设计中必须考虑的因素之一,它通常是…