洛谷 P2549 计算器写作文】的更多相关文章

题目传送门 解题思路: 背包,f[i]表示计算器位数为i时,可获得的最大分值. 本题与01背包不同的地方在于,物品的摆放顺序对答案是有影响的,例如两个字符串a,b,那么就会出现a+b和b+a两种情况(注意这是字符串), 而这又违背了DP的无后效性 因为我们先转移的i物品一定是在后转移的i+1物品的前面,就是说串i+1一定是加在了串i的后面某个位置(如果能加的话). 所以显然也有可能是i+1这个串出现在i这个串的前面,所以显然现在是有后效性的. 那怎么办呢?排序!(请看代码cmp函数) 还有就是因…
P2614 计算器弹琴 题目描述 总所周知,计算器可以拿来干很多它本不应该干的事情,比如写作文.(参看洛谷P2549) 小A发现了一个计算器的另一个隐藏功能——弹琴. http://www.bilibili.com/video/av2205500/ 如果按上一个键,比如说1,就会发出中音“Do”. 这边给出按键音高表 + 低音Fa < 低音So * 低音La / 低音Xi 1 中音Do 2 中音Re 3 中音Mi 4 中音Fa 5 中音So 6 中音La 7 高音Xi 8 高音Do 9 高音Re…
题解:字符串模拟 坑点: 1) 0/-1=-0. 这是因为(来自洛谷讨论区某大犇) double下存储的数字会有精度误差,比如0可能被存成0.000000000...01然而如果你乘上或者除以一个负数,可能就变成了-0.000000000...01然后因为浮点数是先判定符号再计算数值,就出现了负0这一情况 2)我遇到的就这一个.... 具体做法是以-,+,=为分界,分别累加字母的系数和实数 #include<iostream> #include<cstdio> #include&l…
题目背景 NCL是一家专门从事计算器改良与升级的实验室,最近该实验室收到了某公司所委托的一个任务:需要在该公司某型号的计算器上加上解一元一次方程的功能.实验室将这个任务交给了一个刚进入的新手ZL先生. 题目描述 为了很好的完成这个任务,ZL先生首先研究了一些一元一次方程的实例: 4+3x=8 6a-5+1=2-2a -5+12y=0 ZL先生被主管告之,在计算器上键入的一个一元一次方程中,只包含整数.小写字母及+.-.=这三个数学符号(当然,符号“-”既可作减号,也可作负号).方程中并没有括号,…
P1022 计算器的改良 题目背景 NCL是一家专门从事计算器改良与升级的实验室,最近该实验室收到了某公司所委托的一个任务:需要在该公司某型号的计算器上加上解一元一次方程的功能.实验室将这个任务交给了一个刚进入的新手ZL先生. 题目描述 为了很好的完成这个任务,ZL先生首先研究了一些一元一次方程的实例: 4+3x=8 6a-5+1=2-2a -5+12y=0 ZL先生被主管告之,在计算器上键入的一个一元一次方程中,只包含整数.小写字母及+.-.=这三个数学符号(当然,符号“-”既可作减号,也可作…
P1022 计算器的改良 题目背景 NCL是一家专门从事计算器改良与升级的实验室,最近该实验室收到了某公司所委托的一个任务:需要在该公司某型号的计算器上加上解一元一次方程的功能.实验室将这个任务交给了一个刚进入的新手ZL先生. 题目描述 为了很好的完成这个任务,ZL先生首先研究了一些一元一次方程的实例: 4+3x=8 6a-5+1=2-2a -5+12y=0 ZL先生被主管告之,在计算器上键入的一个一元一次方程中,只包含整数.小写字母及+.-.=这三个数学符号(当然,符号“-”既可作减号,也可作…
https://www.luogu.org/problem/show?pid=1022#sub 题目背景 NCL是一家专门从事计算器改良与升级的实验室,最近该实验室收到了某公司所委托的一个任务:需要在该公司某型号的计算器上加上解一元一次方程的功能.实验室将这个任务交给了一个刚进入的新手ZL先生. 题目描述 为了很好的完成这个任务,ZL先生首先研究了一些一元一次方程的实例: 4+3x=8 6a-5+1=2-2a -5+12y=0 ZL先生被主管告之,在计算器上键入的一个一元一次方程中,只包含整数.…
快速幂+同余方程+BSGS 同余方程在解的时候要注意,在将exgcd求出的解变换为原方程的解的时候,要取模 BSGS的原理就是用分块+hash优化暴力,要注意特判 a 和 b 是 p 的倍数的时候. 对于预处理,要预处理出来, $0 \sim t $的Hash值,以处理 答案是 0 的情况 #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #includ…
https://www.luogu.org/problemnew/show/P1022 服了,居然还有+0.000和-0.000的不同,真的服了. #include<bits/stdc++.h> using namespace std; #define ll long long //a1x+b1=a2x+b2 double a1,b1,a2,b2; int main(){ string s; string s1; string s2; while(cin>>s){ int n=s.…
就是一道模板题! 这里再强调一下 BSGS 考虑方程\(a^x = b \pmod p\) 已知a,b,p\((2 \le p\le 10^9)\),其中p为质数,求x的最小正整数解 解法: 注意到如果有解,那么一定满足\(0<x<p\) 设\(t=\lfloor \sqrt p \rfloor\) 那么一定有 \((a^t)^c=ba^d \pmod p\) 此时\(x=ct-d(0 \le d <t)\) 因为$$\frac{a{ct}}{ad} = b \pmod p$$ 那么我们…