首页IT科技做题思路不清晰([做题计划1~10] 杂题乱选)

做题思路不清晰([做题计划1~10] 杂题乱选)

时间2025-06-20 04:57:09分类IT科技浏览4389
导读:$\text{Case0}$: [是否自主完成][题目难度] 时间: 完成细节。...

$\text{Case0}$:

[是否自主完成][题目难度] 时间: 完成细节            。

$\color{red}\text{Case1}$: $\color{purple}\text{P1117 [NOI2016] 优秀的拆分}$

2022.12.1 killed[不会            ,但大概懂了]

技巧:二分                 ,hash

TIP:用 $\color{green}\text{hash}$ 作为变量名会CE

$\color{red}\text{Case2}$: $\color{blue}\text{P2464 [SDOI2008] 郁闷的小 J}$

2022.12.6

对每种书开一棵平衡树                 。用 $\color{green}\text{hash}$ 或 $\color{green}

\text{map}$ 离散化

16:52->40pts

2022.12.7 21:27

读入问题      ,把读入的int型变量定义成了 $\color{green}\text{char}$      。关键用的时候 $\color{green}\text{char}$ 又变回了 $\color{green}\text{int}$      ,在不炸 $\color{green}\text{爱斯科码}$ 时是不会有问题的      。$\color{green}\text{6}$                 。

$\color{red}\text{Case3}$: $\color{blue}\text{CF1600E}$

2022.12.8 15:09

设计了DP状态                 ,$f(L,R,lim)$ 表示这个序列左右两边能否选            ,价值即为其是否能达到取奇数个            。

空间是 $n^2$       ,所以用的搜索                 , $\color{red}\text{TLE On test #48/50}$      。

然后尝试用 $\color{green}\text{map}$ 记忆化            , $\color{red}\text{TLE On test #32/50}$                 。

或许 $\color{green}\text{hash}$ 还会再快一点,但我不想试了            。

2022.12.8 15:24

原来是结论题                 ,具体可以看题解。

发现只有50个点                 ,或许我原来的方法其实可以卡过去?

$\color{red}\text{Case4}$: $\color{blue}\text{CF1600F}$

2022.12.8 15:48 $\color{green}\text{拉姆齐定理}$

2022.12.8 16:06

根据$\color{green}\text{拉姆齐定理}$,每48人中必定有5个人互相认识或不认识                 。直接暴力即可                 。

比较神奇的是 $2\times 48^5$ 会 $\color{red}\text{TLE On test #27/30}$             ,还得小优化一下(指每次递增地搜索                 ,复杂度 $2\times 48!\div(48-5)!$ )      ,然后就快的飞起 $\color{green}\text{AC In 140ms/1000ms}$。

这种搜索小习惯还是要养成            。

$\color{green}\text{Case5}$: $\color{orange}\text{CF1601A}$

2022.12.8 20:38

对每个二进制进行单独处理            ,统计出每一位有几个                 ,看看这一位是不是答案的倍数      ,

复杂度 $30\times n$       ,$\color{green}\text{AC In 139ms/2000ms}$

$\color{green}\text{Case6}$: $\color{purple}\text{CF1601D}$

2022.12.8 21:51

贪心+ $\color{green}\text{DP}$

思路目前是按一定顺序

对登山者进行排序                 ,然后 $\color{green}\text{DP}$ 设计 $dp[\text{max}(q[i].a,q[i].s)][i]=\text{max}(dp[\text{max}(q[i].a,q[i].s)][i],dp[j][i-1]+1),(j\le q[i].s)$

然后想到线段树优化                 。结果打挂了      。下次调吧            。$\color{red}\text{WA On test #2/60}$

2022.12.9 21:14

线段树有时候最小值是 $\color{green}\text{负无穷}$            ,但我的程序询问还是建树时有些地方都用的 $\text{0}$ 为初始值                 。$\color{red}\text{WA On test #4/60}$      。

2022.12.9 21:22

bool cmp1(node A,node B){return A.s*A.a<B.s*B.a;}

乍一看      ,这只是一份人畜无害的排序代码                 ,但是乘法在离散化之后还会炸 $\color{green}\text{int}$            ,好,又忘记开 $\color{green}\text{long long}$ 了      。

改完之后 $\color{red}\text{TLE On test #8/60}$

2022.12.9 21:51

怀疑 $\color{green}\text{map}$ 慢了                 ,自己打个 $\color{green}\text{hash}$ 离散化                 。不出意外                 ,稳定发挥,链式前向星挂了            。

$\color{green}\text{AC In 1860ms/2000ms}$

$\color{green}\text{Case7}$: $\color{purple}\text{P5782}$

2022.12.11 15:05

2-SAT模板题      。$\color{red}\text{WA 35pts}$                 。

2022.12.11 16:13

W CODE

else if(bk[u])low[u]=min(low[u],dfn[v]);

C CODE

else if(bk[v])low[u]=min(low[u],dfn[v]);

$\color{grey}\text{Case2.5}$: $\color{purple}\text{P1224}$

2022.12.13 15:26

尝试暴力 $O(n^2d)$             。$\color{red}\text{TLE 75pts}$。

尝试随机化                 。 $\color{red}\text{RE}$                 。

发现问题:

$\color{blue}\text{#1}$ Wcode printf("%d %d\n",min(sui[i],sui[j]),max(sui[i],sui[j])); Ccode printf("%lld %lld\n",min(sui[i],sui[j]),max(sui[i],sui[j]));

$\color{blue}\text{#2}$

Wcode for(int i=1;i<=1000;i++)swap(sui[rand()],sui[rand()]); Ccode for(int i=1;i<=1000;i++)swap(sui[rand()%n+1],sui[rand()%n+1]);

修改问题后:$\color{red}\text{TLE 75pts}$。(在某些点上速度快了很多            ,多过一个点                 ,少过一个点)

随机化+大数据摆烂(输出"-1")            。$\color{red}\text{TLE+WA 70pts}$                 。

G!

突然发现 $k$ 的范围只有 $\text{2}$ 和 $\text{3}$      。

2022.12.15

不会            。

$\color{green}\text{Case8}$: $\color{blue}\text{P2738 [USACO4.1]篱笆回路Fence Loops}$

2023.1.8 15:31

这题主要烦在建图                 。

我们发现每个篱笆都有左右两个端点      ,但是有些篱笆共用端点            ,而共用的端点只能算一个      。我们发现共用的端点所连接的篱笆编号完全一致                 ,所以可以利用集合的互异性      ,用 bitset 表示每个点连接的篱笆      ,共用的点会自动去重      。

然后就是找无向图中的最小环                 。 这里用的是 $\text{Floyd}$             。

但我也有自己的想法:枚举每条边                 ,求包括这条边的最小环            ,那么只需要割断这条

边      ,求两个端点的最小距离                 ,再加上这条边的长度即可      。

$\color{grey}\text{Case9}$: $\color{purple}\text{CF1601E}$

$\color{red}\text{Case10}$: $\color{green}\text{P1613}$

2022.12.5

$\color{green}\text{AC}$                 。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
美国服务器cn2(美国服务器的性能如何测试)