相反数
因为各不相同,所以只需要用绝对值计数,如果该数出现次数为2 则答案++。
1 |
|
窗口
小模拟。用一个num数组来记录,num[i]表示现在第i位置的窗口原来的编号。在点击时从上到下判断,若击中,则将该窗口以上的num[]数组左移一位,num[n]赋值为该窗口编号,若判断完都没击中则输出IGNORED。
1 |
|
命令行选项
题目读了大半天才理解 这个读题能力真是药丸 题意简单来说就是给你一个带参数指令和不带参数指令的列表,然后给你几条命令,每条命令输出其中合法的部分,一旦不合法则结束对这条命令的处理。
首先我们要对给出的参数指令和非参数指令进行区别,因为最后是要按字母序&&只输出一次,所以我们可以用set来分开保存,保存时注意最后一个字符如果不是‘:’的话也算非参数指令。
因为所有指令和参数都是用空格分隔的,为了方便,我们把每个指令或参数都分隔出来,从第二项开始处理。
设一个flag来标记前面的命令是参数还是非参数,来帮助我们判断当前项是否合法,合法则保存在答案的set中。因为涉及到参数指令的参数,我们给参数指令另配存储空间map,用来判重与覆盖。
1 |
|
无线网络
首先进行图的处理,即两点之间距离小于r的点都加上双向边。像我这样的菜鸡拿到题肯定想暴搜啊,然后就写了一个用新路由器数量的剪枝(剪枝效果约等于0)的dfs,拿(骗)到了30分。100分的思路是bfs,不过是二维的最短路。正常的一维dis[i]数组用来表示源点到节点i的最短距离,用vis[]数组来表示该点有没有被访问过,这里的二维数组dis[i]/[j]用来表示在用了j个新路由器的情况下,从源点到i点的最短距离,vis[i]/[j]表示在用了j个新路由器情况下,i点能不能被访问到。在bfs过程中,以当前的节点号和所用的新路由器为状态,进行转移。最后的答案就是dis[1]/[i]间的最小值再减一。
1 |
|
任务调度
问题描述
有若干个任务需要在一台机器上运行。它们之间没有依赖关系,因此 可以被按照任意顺序执行。
该机器有两个 CPU 和一个 GPU。对于每个任务,你可以为它分配不 同的硬件资源:
1. 在单个 CPU 上运行。
2. 在两个 CPU 上同时运行。
3. 在单个 CPU 和 GPU 上同时运行。
4. 在两个 CPU 和 GPU 上同时运行。
一个任务开始执行以后,将会独占它所用到的所有硬件资源,不得中 断,直到执行结束为止。第 i 个任务用单个 CPU,两个 CPU,单个 CPU 加 GPU,两个 CPU 加 GPU 运行所消耗的时间分别为 ai,bi,ci 和 di。
现在需要你计算出至少需要花多少时间可以把所有给定的任务完成。
输入格式
输入的第一行只有一个正整数 n(1 ≤ n ≤ 40), 是总共需要执行的任 务个数。
接下来的 n 行每行有四个正整数 ai, bi, ci, di(ai, bi, ci, di 均不超过 10), 以空格隔开。
输出格式
输出只有一个整数,即完成给定的所有任务所需的最少时间。
题解:一点都不会!暴力也不会!只能随便输出个结果看脸了!有小伙伴会的话记得带带咸鱼滚!