#10.4考试总结

10.4考试总结

P1017 进制转换

题目里的进制转换跟最开始做的区别就是这个权值是负数......在短除过程中可能会有各种问题.....

我想用短除就必须要解决这个负数的问题:-3/-2=2 要做到这个样子.....系统从来不会让你好过:-3%-2=-1,总会为难你一下。就需要自己想办法来解决这个问题

-m+n%m 这个样子就可以解决了.....然后题目就简单了起来。栈储存结果,或者递归输出随意就好

P1004 方格取数

没有仔细看数据范围。在认证研读了一边以后.....这.....(哔~~)就是一道水题.......

各种暴力方法尽管上就好了。

暴力跑一遍就没有问题了

for(int i=1;i<=n;i++)
        for(int j=1;j<=n;j++)
            for(int k=1;k<=n;k++)
                for(int l=1;l<=n;l++)
        {
                    f[i][j][k][l]=max(max(f[i-1][j][k-1][l],f[i-1][j][k][l-1]),max(f[i][j-1][k-1][l],f[i][j-1][k][l-1]))+a[i][j]+a[k][l];
                    if(i==k&&l==j)f[i][j][k][l]-=a[i][j];
                }

P1027 Car的旅行路线

我觉得最难的就是建图(主要是找第四个点),其实就是普通的跑一遍图就可以出结果.....

因为是随机三个点,所以可以数学一下

搬运一下为什么(WHY)大佬的的代码

bool check(city x,int p1,int p2,int p3) {
    if(dis(x.x[p2],x.y[p2],x.x[p3],x.y[p3])==
       dis(x.x[p1],x.y[p1],x.x[p2],x.y[p2])+
       dis(x.x[p1],x.y[p1],x.x[p3],x.y[p3]) ) return true;
    return false;
}

void get_4(city &x) {
    for(int k=0;k<3;k++)
        if( check(x,k,(k+1)%3,(k+2)%3) )
        {
            x.x[3]=x.x[(k+1)%3]+x.x[(k+2)%3]-x.x[k];
            x.y[3]=x.y[(k+1)%3]+x.y[(k+2)%3]-x.y[k];
        }
}

当然暴力也可以啊

就是各种判断找点的位置,然后计算

原文地址:https://www.cnblogs.com/rendex/p/9743264.html

时间: 2024-08-28 08:03:22

#10.4考试总结的相关文章

#10.6考试总结

10.6考试总结 P1063 能量项链 其实是一道区间DP题.......应该并不难.就是DP做少了? 莫名不会.实际上仔细想一想就明白了.直接枚举分段点进行计算就可以了. for(int l = 1, r = x; r < n2; ++l, ++r) { for(int k = l; k < r; ++k) { f[l][r] = max_(f[l][r], f[l][k] + f[k + 1][r] + num[l] * num[r + 1] * num[k + 1]); } if(x =

10.11考试总结

10.11考试总结 全是DP实际上发现暴力也能有部分分....... 三角形牧场 DP......当时总是感觉不像啊 需要处理的就是枚举三角形边长可能出现的情况.因为周长在输入端时候就可以确定了,所以只需要通过枚举两条边就可以强行算出第三条边..... 所以就省空间+时间.... f[0][0] = 1; for (int i=1; i<=n; ++i) for(int j=half; j>=0; j--) for(int k=j; k>=0; k--) if(j >= d[i]

10.23 考试总结

10.23 考试总结 救火行动 不得不说还是想问候一下出题人的,那个白色的字是什么鬼.....不过看到了不要喧哗倒是很有意思 所以就是一个大模拟题.....因为比较麻烦,只不过数据很小,纯模拟循环都可以过的说. 考试的时候没有注意到一个点就是可以直接灭火的时候当前这一轮是不算这层着火的,也就是说第五层的火势应该只涨i-1 稍微注意一下这个就可以了,然后就还好,其余的还是都有好好注意到的 打篮球 这个题目我是考试的时候一下没有相同怎么建图....实际上暴力枚举各种参数就可以了. 然后就是纯最短最长

10.25 考试总结

10.25 考试总结 距离退役死亡越来越近. circle 其实只要暴力查找就可以了 搜索跑图,稍微注意一下不要让法师反复横跳就可以了,多加一个数据就可以解决只要一找到已经访问过的就证明是环了.... 开始想复杂了,以为可能有一个奇葩的图....原来就是一个简单的环啊 path 其实就是找必经之路,把一些可以多选择的....缩点,实际上就是tarjan缩点, 然后找桥. 桥就是我们要的必经之路 然后又要去学tarjan.....模板一下背不下来 mst 首先用prim 作出最小生成树.然后考虑修

10.29 考试总结

10.29 考试总结 a 咋一看是暴力跑循环,实际上还是暴力循环.只不过根据题目意思,实际上公式\(f(x) + x = n\)而这个f(x)就是x各个位的和.大概脑补一下还是能算出来f(x)最大也就是9*位数就可以将整体的循环控制在几千...... b 设\(dp[i][j][k][0/1]\) 表示当前字符串s 到了第i 位,字符串t 到了第j 位,目前一共 选出了k 个子串,s[i] 与t[j] 是否都被选择的最大长度. 考虑s[i] 与t[j] ,如果我们不将它们加入选择的k 个子串,那

2019.10.18考试解题报告

总结 期望得分:\(100 + 100 + 10\) 实际得分:\(0 + 20 + 10\) 完美. 今天的考试格外完美,\(T1\)做了*\(2.5h\),最后换来了\(0\)分的好成绩,史无前例,美妙绝伦,我竟然不删调试,做得?好. \(T2\)是个好题,是个好阅读题,\(n\)和\(m\)写反了,样例给的是\(n\)和\(m\)相等的情况,最终完美\(100->20\),我竟然这么粗心,题目竟然没读好,做得?好. \(T3\)没时间了,都耗在\(T1\)上了,可惜\(T1\)还没有分,做

2019.10.28~2019.10.31考试总结

连续几天的考试都没有总结,今天有些时间,总结一下这几场考试的情况. 10.28场 开场先读题,然后推了推T2,发现是水题.出于对期望的恐惧,没有选择研究T3,而是回头肝T1,想了很久,没有思路.打完T2,自己搓了一些数据,过了,回头打了T1的暴搜,再打了一个表,似乎部分分挺多的.再做T3,有点思路,但思路并不清晰,于是打了特殊数据就完了. 期望得分:70+100+20=190 最终得分:30+100+20=150 结果T1是DP,没看出来.唔...原题,地精部落,题果然还是做的太少了,有些人做过

10.2考试总结

你没看错,国庆第二天我就来了 第一题:基本都能水到分,这道题暴力枚举+dfs即可,注意需要两遍dfs 第二题: 这题说白了考的知识点我还没学=w= 为了以后看,我就把题解复制上去吧 问题1,最少死几个人: 没有入度的点必然不死,不死的点指向的点必死.使用拓扑排序实现,若最后剩下环且环上所有点都不死,则每个环死亡人数为(L+1)/2. 问题2,最多死几个人: 没有入度的点必然不死,若存在没有叶子且长度大于1的环,则该环上有一个人不死.其余人都可以死亡. http://blog.csdn.net/p

18.10.17 考试总结

今天心态崩崩,,,.. 这道题比较简单 因为每一位是单独对答案产生贡献的 所以枚举每一位 用数位dp求出该位是$1$的数量 在求出该位是$0$的 那么答案就是那一位对应的二的幂次再乘以$num1 * num0 * 2$ 每一对会产生两次贡献 代码 #include <bits/stdc++.h> #define rg register #define il inline using namespace std; typedef long long ll; const ll MOD = 1e9