算法学习记录:NC16622[NOIP2009]多项式输出
题目链接:
https://ac.nowcoder.com/acm/problem/16622
解题思路:
这题有个在拓扑序上的直觉。(并不完全是拓扑学,只是一种感觉)
举个例子,每i项,都是有了符号,再有系数,最后指数,我们确定了前面输出什么才有后面的判断。
但并不完全是这样,该题当指数为0时,会影响系数的输出格式(x是否要输出),这里直接提高优先级。
也是为什么不完全是拓扑序的原因。
AC代码:
// 系数:1.开头,+ 不输出,- 输出 // 2.中间,+,输出 // 3.和次数有关 // a.系数=1 且 >0次,则1无需输出 // b.系数=0,什么也不要输出 // c.次数=0,次数直接输出 // // 次数:1.次数>1:输出x^b // - 系数1,系数2, // 2.次数=1:输出x // 3.次数=0:系数可以x输出 #include <iostream> using namespace std; int main() { int n; cin >> n; // 项数:一共有n+1项 for (int i = n; i >= 0; -- i) { int x; cin >> x; if (x == 0) continue; if (i == n) // 开头符号 { if (x < 0) cout << '-'; } else // 中间符号 { if (x > 0) cout << '+'; else cout << '-'; } // 系数 if (abs(x) == 1 && i != 0) cout << 'x'; else if (i == 0) cout << abs(x); else cout << abs(x) << 'x'; // 次数 if (i > 1) cout << '^' << i; } }
本文来自博客园,作者:想个昵称好难ABCD,转载请注明原文链接:https://www.cnblogs.com/ClockParadox43/p/17413272.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】