醉后不知天在水,满船清梦压星河。
追踪最近的用户名外显变动记录。
最近的文章、讨论、云剪贴板与社区记录
在讨论《哪位大佬能高抬贵手吗?(壶关)》回复:
```c for(int i=1;i<=n;i++){ if(a[i].s!=a[i-1].s) j++; a[i].p=j; } ``` 这里有问题,最后排名不是 1 2 3 4的递增,有可能 1 2 2 4 4 6,还要记录相同排名的数量
在讨论《签到大凶怎么办》回复:
Cu ball
在讨论《NOIp RP++》回复:
rp++
在讨论《问此题的一个拓展》回复:
@[TLEphage](/user/81366) 没有问题吧,我可以找到方法
在讨论《问此题的一个拓展》回复:
@[TLEphage](/user/81366) 我傻啦,可以过,第二个样例的输出应该是 5 ``` 4 3 2 5 3 5 3 2 2 4 2 4 2 2 2 3 1 3 1 1 1 2 1 2 1 1 1 1 0 1 0 0 0 0 0 0 ```
在讨论《问此题的一个拓展》回复:
@[TLEphage](/user/81366) 不知道是不是我推错了,好像过不了第二个样例
在讨论《问此题的一个拓展》回复:
$\quad$贪心思路是因为,显然每次减的点要尽可能多,但因为断环成链的话,每次修改的数量就会变少,所以每次操作尽可能保留环,即不出现零,显然序列中一起减的话最小的数会最先成为零,所以最小的数保留,其他所有点减 $1$。 $\quad$但正确性我不会证明,有没有大佬帮忙解答。
在讨论《问此题的一个拓展》回复:
$\quad$直到出现零的时候就已经断环成链,接下来按照此题的解法处理。
在讨论《问此题的一个拓展》回复:
$\quad$我自己有一个贪心思路。 $\quad$其实可以看做从目标状态开始区间减,每次减的区间不可以包含零,问最少要几次操作。 $\quad$我自己的一个思路是每次保存最小的数的位置,多个连续的数看做一个数,将除了最小的数外其他数全部减一,用线段树维护。
$\quad$如果将这个序列看做一个环,即最开始第一个和最后一个是连着的,每次可以区间加,问需要几次到目标状态。 $\quad$两组样例 输入 ``` 6 8 4 8 4 8 4 ``` 输出 ``` 12 ``` 输入 ``` 6 4 3 2 5 3 5 ``` 输出 ``` 6 ```
在讨论《基环树模板题 90分 WA》回复:
有个中间答案 $ans1$ 是 int 类型的,所以错了
第九个点 WA 了。 ```cpp #include #include #include #include #include #define ll long long #define re register int #define il inline using namespace std; il int read()…
在讨论《关于一些简单树上的算法》回复:
这个应该是 dsu on tree 的模板题:[CF600E Lomsat gelral](https://www.luogu.com.cn/problem/CF600E)
在讨论《助你们一臂之力(?)》回复:
楼主已封
在讨论《CSP-J/S 2021 数据已经更换为官方数据》回复:
qp
在讨论《JX tg 100pts 1=有希望吗》回复:
不可能有
在讨论《数据生成器(卡 n 方做法)》回复:
可AC的代码,时间复杂度 $O(n^2)$ ``` #include #include #include #include using namespace std; inline int read() { int res;char c; while(!isdigit(c=getchar()));res=c^48; wh…
在讨论《月赛事件的新信息与个人观点》回复:
qp
在讨论《结束了》回复:
[https://www.luogu.com.cn/record/60000003](https://www.luogu.com.cn/record/60000003) 话说6kw就是我们机房的。
```cpp //30分 #include #include #include #include #include #define re register int #define il inline using namespace std; il int read() { int x=0,f=1;char ch=get…
大概率是爆栈了,我的错误是每次询问存边的编号未清零。(就是下面的tot) ```cpp il void add(int x,int y) { nxt[++tot]=head[x]; head[x]=tot;go[tot]=y; } ```
在讨论《关于Tarjan的问题》回复:
我知道为什么了,x和y之间可能会有别的点,比如x的其他边连的点(假设为z),如果对于z来说x不是割点,那么z就会先保留
在讨论《关于Tarjan的问题》回复:
在栈里,因为先进x后进y,出栈y的下一个不就是x吗
```cpp il void Tarjan(int x) { dfn[x]=low[x]=++cnt;s.push(x); for(re i=e1.head[x],y;i,y=e1.go[i];i=e1.nxt[i]) { if(!dfn[y]){ Tarjan(y);low[x]=min(low[x],low[y])…
在讨论《求助92pts #17 #22WA》回复:
有一组Hack数据 ``` 10 10 10 7 9 4 10 4 10 3 6 10 9 8 3 8 5 8 2 6 10 1 ``` 错误答案 ``` 1 10 3 8 5 9 4 6 2 7 ``` 正确答案 ``` 1 10 3 4 9 8 5 6 2 7 ```
在讨论《求助92pts #17 #22WA》回复:
@[dying](/user/85593) ,请问大佬知道是什么问题吗
在讨论《求助92pts #17 #22WA》回复:
铜球
在讨论《85->100,奇怪的问题又增加了》回复:
我知道了,改一下就可以了 ```cpp if(p)q.push(p),vis[p]=1; while(vis[x]){vis[q.top()]=0;q.pop();} ``` 第二个代码改成这样就过了。~~我还是太菜了~~
100 $Code$ ```cpp #include #include #include #include #include #include #define int long long #define re register int #define il inline using namespace std; il…